1)编写一个运行系统命令的python程序(即“dir”) 2)将系统命令的输出保存到变量中 3)打印变量
这是在Python中完成的,我无法弄清楚这一点,我找到一个只使用子进程返回“0”。
我正在使用Wndows 7 Python 2.5和2.7
基本上,我想要像cmd这样的输出 - > dir C:\
然后使用Python将该输出保存到文件中。
帮助会很好,
答案 0 :(得分:2)
您可以使用subprocess.check_output
:
来自文档:
subprocess.check_output(args, stdin=None, stderr=None, shell=False, universal_newlines=False)
使用参数运行命令并返回它 输出为字节串。
示例:
>>> subprocess.check_output(["echo", "Hello World!"])
'Hello World!\n'
答案 1 :(得分:0)
这是我发现的elsewhere课程,似乎可以实现您的目标
class Command(object):
"""Run a command and capture it's output string, error string and exit status"""
def __init__(self, command):
self.command = command
def run(self, shell=True):
import subprocess as sp
process = sp.Popen(self.command, shell = shell, stdout = sp.PIPE, stderr = sp.PIPE)
self.pid = process.pid
self.output, self.error = process.communicate()
self.failed = process.returncode
return self
@property
def returncode(self):
return self.failed
要运行它,只需执行以下操作:
commandVar = Command("dir").run()
然后查看结果:
commandVar.output