【发布时间】:2019-09-02 23:50:08
【问题描述】:
我有一个 Python 脚本,它基本上运行一个每日数据提取过程,该过程在该脚本中运行 20 个脚本。每个子脚本都运行一个 sql 查询。
我在任务调度程序上有脚本,该脚本从凌晨 3 点开始,大约 2 小时后结束。
我想提高这个脚本的速度并同时运行所有的脚本。
我研究过线程和多处理,但我对这些概念和一般计算机科学还比较陌生。进行此过程的最佳方法是什么?
import os
import sys
import importlib
import pandas as pd
# Key folder names and locations
# Main folder location
daily_data_path = 'Desktop:\\Daily_Data'
# Login folder name - must be saved in your desktop and must contain a module called login.py
login_folder = 'Login'
# Login folder location
login_folder_path = os.path.expanduser('~') + '\\Desktop\\' + login_folder
# Direct Python to the correct directories
sys.path.append(daily_data_path)
sys.path.append(login_folder_path)
# Function to dynamically import and run each script
def script_import(path_name):
try:
importlib.__import__(path_name)
run_ind = '1'
except:
run_ind = '0'
# List of daily data paths to iterate over
paths = ['script1.Scripts.script1,
'script2.Scripts.script2,
....,
'script20.Scripts.script20
]
for path in paths:
# Call the script_import function to run the daily data process
script_import(path)
【问题讨论】:
-
你用过库线程吗?
标签: python sql python-multiprocessing python-multithreading python-importlib