[英]running a .py file from another Python script using os
有人可以告诉我如何使用os
从我的 python 脚本运行不同的 .py 文件吗? 下面的代码有效,但只是因为我指定了完整的文件路径。
如何修改代码以合并与主脚本app.py
plots.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 内置了对执行其他脚本的支持,而不需要os
模块。
尝试:
from . import plots
如果要在独立的 python 进程中执行它,请查看multiprocessing
或subprocess
进程模块。
您可以通过在app.py
中使用以下调用来获取app.py
文件的目录
dir_path = os.path.dirname(os.path.realpath(__file__))
然后加入你想要的文件名
file_path = os.path.join(dir_path,'plot.py')
最后你的系统调用
os.system(f'py {file_path}') # if you're on 3.6 and above.
os.system('py %s' % file_path) # 3.5 and below
正如其他人所说,子进程和多线程可能会更好,但对于您的具体问题,这就是您想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.