使用 python 运行 windows shell 命令

新手上路,请多包涵

我们如何使用 Python 与 OS shell 交互?我想通过 python 运行 Windows cmd 命令。如何实现?

原文由 avimehenwal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 313
2 个回答

较新的 subprocess.check_output 和类似的命令应该替换 os.system 。有关详细信息,请参阅 此页面。虽然我无法在 Windows 上对此进行测试(因为我无权访问任何 Windows 机器),但以下应该可行:

 from subprocess import check_output
check_output("dir C:", shell=True)

check_output 返回命令输出的字符串。或者, subprocess.call 只运行命令并返回命令的状态(如果一切正常,通常为 0)。

另请注意,在 python 3 中,该字符串输出现在是 bytes 输出。如果你想把它变成一个字符串,你需要像

from subprocess import check_output
check_output("dir C:", shell=True).decode()

如有必要, 您可以告诉它 程序输出的编码类型。默认值为 utf-8 ,通常工作正常,但其他标准选项在 这里

另请注意,@bluescorpion 在评论中表示 Windows 10 需要尾随反斜杠,如 check_output("dir C:\\", shell=True) 中所示。需要双反斜杠是因为 \ 是 python 中的特殊字符,因此必须对其进行 转义。 (另请注意,如果 \ 是字符串的最后一个字符,即使在字符串前加上 r 也无济于事 — —c5c85124324fbc2e610e82dc52-c- r"dir C:\" r"dir C:\ " 不是。)

原文由 Mike 发布,翻译遵循 CC BY-SA 4.0 许可协议

您将使用 os 模块 系统方法

你只需要输入字符串形式的命令,返回值就是windows环境变量COMSPEC

例如:

os.system(‘python’) 打开 windows 命令提示符并运行 python 解释器

os.system(‘python’) 示例

原文由 Timidger 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏