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文件的代码
时间: 2024-02-17 14:01:56 浏览: 236
在 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 格式的响应。
阅读全文