社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何按顺序运行多个python脚本?

leonardo • 2 年前 • 1262 次点击  

我有一个工作流程,可以连续运行多个Python脚本。我现在手动运行它们。

这些脚本位于不同的文件夹中,少数脚本位于单个文件夹中。 例如

 1. C:\Users\harsh\My Drive\Folder\Code\3.py
 2. C:\Users\harsh\My Drive\Folder\Code\4.py
 3. C:\Users\harsh\My Drive\Folder\Code\5.py
 4. C:\Users\harsh\My Drive\Folder\Code\Helper codes\6.py
 5. C:\Users\harsh\My Drive\Folder\Code\Process\7.py

如何设置可以按顺序运行这些程序的脚本?

我正在Windows 10上使用PyCharm IDE。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131992
 
1262 次点击  
文章 [ 1 ]  |  最新文章 2 年前
BrokenBenchmark
Reply   •   1 楼
BrokenBenchmark    3 年前

一个快速的解决方法是使用 subprocess.call() :

import subprocess

filepaths = ["C:\\Users\\harsh\\My Drive\\Folder\\Code\\3.py",
    "C:\\Users\\harsh\\My Drive\\Folder\\Code\\4.py",
    "C:\\Users\\harsh\\My Drive\\Folder\\Code\\5.py",
    "C:\\Users\\harsh\\My Drive\\Folder\\Code\\Helper codes\\6.py",
    "C:\\Users\\harsh\\My Drive\\Folder\\Code\\Process\\7.py"
]

for filepath in filepaths:
    subprocess.call(["python", filepath])

但是,如果每个脚本的主要方法是这样布置的,则也可以使用导入:

def main():
   ...

if __name__ == '__main__':
   main()

然后,您的脚本可以如下所示:

import module1
import module2
... # more imports

module1.main()
module2.main()
... # more main methods

按顺序运行主要方法。这更可取(更简洁,不需要产生新的流程),但可能需要一些重构。