Running a script from within a Python script
我正试图从另一个python脚本运行位于服务器文件夹中的python脚本。我尝试运行的脚本的位置与现有脚本不在同一位置。我尝试执行的脚本不是一个函数,我只需要在第一个脚本完成后启动它,我知道它们都独立工作。我找到了一个类似的帖子,但当我使用
我知道我调用的目录是正确的,因为在前面的语句中,我调用
这就是我所尝试的:
1 2 3 4 5 | subprocess.Popen("/home/xxx/xxxx/xxx/xx/test.py") os.system("/home/xxx/xxxx/xxx/xx/test.py") subprocess.Popen("/home/xxx/xxxx/xxx/xx/test.py", shell=True) |
要将脚本作为子进程在其目录中运行,请使用
1 2 3 4 5 6 7 8 | #!/usr/bin/env python import os import sys from subprocess import check_call script_path ="/home/xxx/xxxx/xxx/xx/test.py" check_call([sys.executable or 'python', script_path], cwd=os.path.dirname(script_path)) |
与基于
你可以尝试这样的方法:
1 2 3 4 5 6 7 8 9 10 | original_dir = os.getcwd() script_paths = ["/...path1.../script1.py","/...path2.../script2.py","/...path3.../script3.py"] for script_path in script_paths: base_path, script = os.path.split(script_path) os.chdir(original_dir) subprocess.Popen(script) os.chdir(original_dir) |
对于执行与其位置相关操作的脚本,您需要首先获取使用