用一个例子扩展 FatalError 的建议。
subprocessing
使用而不是的另一个好处os.system
是它使用相同的跨平台语法(os.system
在 Windows 上需要一个“开始”在开头,而 OS X 需要一个“打开”。没什么大不了的,但要记住的事情少了) .
用 . 打开一个文件subprocess.call
。
启动程序所需要做的就是调用subprocess.call()
并传入一个list
参数,其中第一个是程序的路径,其余的是要提供给正在启动的程序的附加参数。
例如,启动 Notepad.exe
import subprocess
path_to_notepad = 'C:\\Windows\\System32\\notepad.exe'
path_to_file = 'C:\\Users\\Desktop\\hello.txt'
subprocess.call([path_to_notepad, path_to_file])
传递多个参数和路径同样简单。只需将其他项目添加到列表中。
使用多个参数启动
例如,这会使用 Java 运行时环境的特定副本启动 JAR 文件。
import subprocess
import os
current_path = os.getcwd()
subprocess.call([current_path + '/contents/home/bin/java', # Param 1
'-jar', #Param2
current_path + '/Whoo.jar']) #param3
参数 1 针对我要启动的程序。Argument2 向该程序提供一个参数,告诉它它将运行一个 JAR,最后 Argument3 告诉目标程序在哪里找到要打开的文件。