python - 使用操作系统从另一个Python脚本运行.py文件

标签 python

有人可以给我一些关于如何使用 os 来运行 python 脚本中不同的 .py 文件的提示吗?下面的代码有效,但只是因为我指定了完整的文件路径。

如何修改代码以将正在运行的 plots.py 与我的主脚本 app.py 放在同一目录中?我目前使用 Windows,但希望它可以在任何操作系统上运行。谢谢

import os

os.system('py C:/Users/benb/Desktop/flaskEconServer/plots.py')

最佳答案

您可以使用subprocess.run()作为单独的进程来执行任意Python脚本。功能如下:

import os
import subprocess
import sys

#py_filepath = 'C:/Users/benb/Desktop/flaskEconServer/plots.py'
py_filepath = 'plots_test.py'

args = '"%s" "%s" "%s"' % (sys.executable,                  # command
                           py_filepath,                     # argv[0]
                           os.path.basename(py_filepath))   # argv[1]

proc = subprocess.run(args)
print('returncode:', proc.returncode)

如果您想在进程运行时与其进行通信,也可以这样做,此外还有其他 subprocess 函数,包括较低级别但非常通用的 subprocess.Popen 支持做这些事情的类。

关于python - 使用操作系统从另一个Python脚本运行.py文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349238/

相关文章:

python (pandas) - 连接列表时出现 TypeError : must be str, 未列出

python - 带有 FTPS 的 ftplib storbinary 挂起/从未完成

python - PyUSB 无法识别特定的 USB 设备

python - 如何将类变量的名称传递给函数?

python - Tensorflow - 正确(本地?)处理多个时期的数据批处理重叠(小批量?)

python - 如何在 Windows 10 上安装 mysql-python

python - 在python中进行unsigned char算术

python - 如何使用 numba 创建给定类型的 numpy 数组

python - Pandas 空数据帧由 isin 函数生成,如果 ID 存在于仅包含 ID 的数据帧中,则该函数会保留具有 ID 的对象

python - 根据输入列表Python下载文件