首页 > 解决方案 > 给定程序的文件路径,如何在 python IDE 中运行程序

问题描述

我有一个需要在文件夹列表中运行的程序。我有程序所在的文件路径和我想在我的计算机上运行程序的所有文件夹的列表(大约有 200 个)。我还可以更改当前工作目录以进入我想要的文件夹。

一旦进入要运行程序的文件夹,如何让 python 通过实际的 IDE 执行程序?我不想在我的计算机上手动打开终端,输入“[程序名称] [我要运行程序的文件路径]”200 多次。我的代码如下

cat = '/home/myname/catalogue.csv'
cat = Table.read(cat, format="ascii")

ID = np.array(cat['ID'])
ID = ID.astype(str)

folder_path = np.array([])

for i in ID:
    folder_path = np.append(folder_path, '/home/myname/python_stuff/{}/'.format(i))

folder_path = folder_path[folder_path.argsort()]

for i in zip(folder_path, ID):
    os.chdir(i[0])
    name = i[1] +(".setup")

基本上在我的代码的最后一行之后,我想要另一行相当于“在名称上运行 [程序名称]”(这是我希望它使用的每个文件夹中的文件的名称)

标签: pythonexecutionexecute

解决方案


您可以通过更改工作目录将进程作为子进程运行

import subprocess
p = subprocess.Popen(["python","some_script.py"], stdout=subprocess.PIPE, cwd=PATH)
output = p.communicate()[0]

cwd 表示当前工作目录,因此您可以在特定目录的另一个脚本中运行您的脚本。

https://docs.python.org/3/library/subprocess.html#popen-constructor检查本指南以使用不同的目录运行子进程


推荐阅读