if __name__ == '__main__': SalesManage().sales_main()什么意思
时间: 2023-11-25 14:04:38 浏览: 23
这是一个常见的 Python 代码结构,其中 `if __name__ == '__main__'` 是一个条件语句,用于检查当前文件是否作为主程序在运行。如果当前文件是作为主程序在运行,那么 `SalesManage().sales_main()` 语句会被执行。
换句话说,当我们在终端或命令行中运行这个 Python 文件时,`SalesManage().sales_main()` 方法会被执行。如果这个文件被另一个 Python 文件导入,那么 `SalesManage().sales_main()` 方法不会被执行。这是因为 `__name__` 变量在不同的上下文中具有不同的值。在当前文件中,`__name__` 的值为 `'__main__'`,在其他文件中,`__name__` 的值为该文件名。
相关问题
SELECT a.goods_code goodsCode, a.goods_name goodsName, a.goods_price goodsPrice, a.original_price originalPrice, IFNULL( a.initial_sales, 0 )+ IFNULL( a.real_sales, 0 ) sales, a.thumbnail, CASE WHEN a.exchange_type IS NULL OR a.exchange_type = 0 THEN '不限制' ELSE a.exchange_number END exchangeTypeName, (SELECT MIN(b.redeem_points) redeem_points FROM goods_attr_info b WHERE a.goods_code = b.goods_code ) redeem_points, CASE WHEN (SELECT MIN(b.inventory_number) <= 10 FROM goods_attr_info b WHERE a.goods_code = b.goods_code AND b.inventory_type = 1) THEN CONCAT('剩余',MIN(b.inventory_number),'件') ELSE '' END inventoryNumber FROM goods_main_info a WHERE a.goods_status = 1 这断sql改造成上述语句
可以使用以下 SQL 语句实现:
```
SELECT a.goods_code AS goodsCode,
a.goods_name AS goodsName,
a.goods_price AS goodsPrice,
a.original_price AS originalPrice,
IFNULL(a.initial_sales, 0) + IFNULL(a.real_sales, 0) AS sales,
a.thumbnail,
CASE WHEN a.exchange_type IS NULL OR a.exchange_type = 0 THEN '不限制'
ELSE a.exchange_number END AS exchangeTypeName,
(SELECT MIN(b.redeem_points)
FROM goods_attr_info b
WHERE a.goods_code = b.goods_code) AS redeem_points,
CASE WHEN (SELECT MIN(b.inventory_number)
FROM goods_attr_info b
WHERE a.goods_code = b.goods_code AND b.inventory_type = 1) <= 10
THEN CONCAT('剩余', MIN(b.inventory_number), '件')
ELSE '' END AS inventoryNumber
FROM goods_main_info a
WHERE a.goods_status = 1;
```
这个语句的逻辑与之前的语句相同,只是将子查询部分的逻辑拆分出来,分别使用了两个子查询来计算 `redeem_points` 和 `inventoryNumber`,并且使用了 `CASE WHEN` 语句来判断是否需要输出 `inventoryNumber`。
import os import tkinter as tk from tkinter import ttk import pymssql import smtplib from email.mime.multipart import MIMEMultipart from email.header import Header from email.mime.text import MIMEText host = '..*.**' user = 'sa' password = '123456789' database = 'deste' class MSSQL: """""" def init(self): self.db_config = {"host": host, "user": user, "password": password, "database": database} def __get_connect(self, charset='utf8'): try: # 实例化连接对象 self.conn = pymssql.connect(**self.db_config, charset=charset) cur = self.conn.cursor() except pymssql.DatabaseError: print('连接失败') cur = '' else: print('连接成功') return cur def exec_query(self, str_sql): cur = self.__get_connect(charset='GBK') cur.execute(str_sql) results_list = cur.fetchall() cur.close() self.conn.close() return results_list def exec_non_query(self, str_sql): cur = self.__get_connect() cur.execute(str_sql) self.conn.commit() cur.close() self.conn.close() def zhaowenjian(list_result): ''' 需要查找的关键字列表 和对应的path ''' print(list_result) result1 = [item[3] + item[2] for item in list_result if item[0] == 6] result2 = [item[3] + item[2] for item in list_result if item[0] == 2] path1 = 'E:/出货报告/5604' path2 = 'E:/出货报告1/5604' keywords1 = result1 keywords2 = result2 ''' 找到文件路径 ''' file_dict = {} for pn in keywords1: file_dict[pn] = [] for pn in keywords2: file_dict[pn] = [] for root, dirs, files in os.walk(path1): for file in files: for keyword in keywords1: if keyword in file: file_dict[keyword].append(os.path.join(root, file)) for root, dirs, files in os.walk(path2): for file in files: for keyword in keywords2: if keyword in file: file_dict[keyword].append(os.path.join(root, file)) print(file_dict) for key,value in file_dict.items(): print(key,value,len(value)) return file_dict def show_file_dict(): file_dict = zhaowenjian(list_result) if name == 'main': Sql = """SELECT [WHSE_PTR] , [SALES_ORDER] , [CP_REV] , [CUSTOMER_PART_NUMBER] , [INTIME] , [stat] FROM[fineReport].[dbo].[lCSRM5604] where stat = 1""" list = MSSQL().exec_query(Sql) list_result = list zhaowenjian(list_result) show_file_dict() 在Django中调用这个py文件的代码
在 Django 中调用这个 py 文件的代码可以通过以下步骤实现:
1. 在 Django 项目中创建一个 app,例如命名为 filesearch。
2. 在 filesearch 目录下创建一个名为 utils 的文件夹,用于存放工具类。
3. 在 utils 文件夹中创建一个名为 mssql.py 的文件,将 MSSQL 类及其依赖的模块放入其中。
4. 在 utils 文件夹中创建一个名为 file_search.py 的文件,将 zhaowenjian 函数和 show_file_dict 函数放入其中。
5. 在 filesearch 目录下创建一个名为 views.py 的文件,用于处理请求。
6. 在 views.py 中引入 utils 文件夹下的 mssql.py 和 file_search.py 文件。
7. 在 views.py 中编写视图函数,例如:
```python
from django.http import JsonResponse
from .utils.mssql import MSSQL
from .utils.file_search import zhaowenjian, show_file_dict
def file_search(request):
list = MSSQL().exec_query("SELECT [WHSE_PTR], [SALES_ORDER], [CP_REV], [CUSTOMER_PART_NUMBER], [INTIME], [stat] FROM [fineReport].[dbo].[lCSRM5604] WHERE stat = 1")
file_dict = zhaowenjian(list)
result = show_file_dict(file_dict)
return JsonResponse(result)
```
8. 在 urls.py 中配置路由,例如:
```python
from django.urls import path
from . import views
urlpatterns = [
path('file_search/', views.file_search, name='file_search'),
]
```
这样,就可以通过访问 /file_search/ 来调用 file_search 函数,获取文件路径字典的 JSON 格式的响应。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)