1)编写运行系统命令的python程序(即“dir”) 2)将系统命令的输出保存到变量中 3)打印变量
这是在 Python 中完成的,我想不通,我发现一个使用子进程只返回“0”的。
我正在使用 Wndows 7 Python 2.5 和 2.7
基本上,我想要类似 cmd -> dir C:\
然后使用 Python 将该输出保存到文件中。
帮助会很好,
1)编写运行系统命令的python程序(即“dir”) 2)将系统命令的输出保存到变量中 3)打印变量
这是在 Python 中完成的,我想不通,我发现一个使用子进程只返回“0”的。
我正在使用 Wndows 7 Python 2.5 和 2.7
基本上,我想要类似 cmd -> dir C:\
然后使用 Python 将该输出保存到文件中。
帮助会很好,
您可以使用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'
这是我在其他地方找到的一门课程,似乎可以完成您正在寻找的东西
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