我们如何使用 Python 与 OS shell 交互?我想通过 python 运行 Windows cmd 命令。如何实现?
原文由 avimehenwal 发布,翻译遵循 CC BY-SA 4.0 许可协议
我们如何使用 Python 与 OS shell 交互?我想通过 python 运行 Windows cmd 命令。如何实现?
原文由 avimehenwal 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答874 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
较新的
subprocess.check_output
和类似的命令应该替换os.system
。有关详细信息,请参阅 此页面。虽然我无法在 Windows 上对此进行测试(因为我无权访问任何 Windows 机器),但以下应该可行:check_output
返回命令输出的字符串。或者,subprocess.call
只运行命令并返回命令的状态(如果一切正常,通常为 0)。另请注意,在 python 3 中,该字符串输出现在是
bytes
输出。如果你想把它变成一个字符串,你需要像如有必要, 您可以告诉它 程序输出的编码类型。默认值为
utf-8
,通常工作正常,但其他标准选项在 这里。另请注意,@bluescorpion 在评论中表示 Windows 10 需要尾随反斜杠,如
check_output("dir C:\\", shell=True)
中所示。需要双反斜杠是因为\
是 python 中的特殊字符,因此必须对其进行 转义。 (另请注意,如果\
是字符串的最后一个字符,即使在字符串前加上r
也无济于事 — —c5c85124324fbc2e610e82dc52-c-r"dir C:\"
r"dir C:\ "
不是。)