python - 给定程序的文件路径,如何在 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")
基本上在我的代码的最后一行之后,我想要另一行相当于“在名称上运行 [程序名称]”(这是我希望它使用的每个文件夹中的文件的名称)
解决方案
您可以通过更改工作目录将进程作为子进程运行
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检查本指南以使用不同的目录运行子进程
推荐阅读
- typescript - Ionic Project 适用于本地的 heroku,但不适用于网络
- winforms - .NET Windows 窗体 - 与从 webview2 打开的网站文件对话框交互
- object - 在现有对象中添加新对象的函数
- django-rest-framework - 如何使用 Django REST 框架/django 过滤器将可用的过滤器选项传达给前端?
- windows - 在哪里可以找到 CIM 实例中的 Windows 版本?
- javascript - Angular Material Date Picker无法读取underfined的属性
- ruby - 用 Ruby 解决插入排序时整数与 nil 的比较失败 (ArgumentError)
- mysql - MySQL 8:授予列级权限?
- javascript - 当我在数组中推送新项目时未检测到角度输入属性更改
- c# - 如果数据模型在控制器操作方法中具有 SerializationMode.EncryptedAndSigned 属性,是否可以在 ASP.NET MVC 中测试 DefaultModelBinder?