我在 python 中运行命令行时遇到问题。我目前正在使用
os.system("cd " + path)
os.system(command)
但是, os.system 每次都会打开一个新控制台。
我应该使用什么类来工作?如何拦截输出?
谢谢 !
我在 python 中运行命令行时遇到问题。我目前正在使用
os.system("cd " + path)
os.system(command)
但是, os.system 每次都会打开一个新控制台。
我应该使用什么类来工作?如何拦截输出?
谢谢 !
from subprocess import call
call(["ls", "-l"])
subprocess
vs的优点system
是更灵活。您可以获得标准输出、标准错误、“真实”状态码、更好的错误处理等。
另外,请查看Python 文档。
要解决上述问题:
os.chdir(path)
os.system(command)
要捕获数据,我会查看子进程: http: //docs.python.org/2/library/subprocess.html
由于您使用的是 python 1.7:
output=os.popen(command,"r").readlines()
我总是使用 os.chdir("dirname")
这个功能可以像 cd 功能一样工作,所以你可以同时 os.chdir("dir_thats_right_here")
使用 os.chdir("/dir/thats/far/away")