【问题标题】:in python, get the output of system command as a string [duplicate]在python中,以字符串形式获取系统命令的输出[重复]
【发布时间】:2013-10-15 02:23:30
【问题描述】:

在 python 中,我可以使用 os 或 subprocess 运行一些系统命令。问题是我无法将输出作为字符串。例如:

>>> tmp = os.system("ls")
file1 file2
>>> tmp
0

我有一个旧版本的子进程,它没有函数 check_out,我更喜欢不需要更新该模块的解决方案,因为我的代码将在我没有完全管理员权限的服务器上运行.

这个问题看似微不足道,但我找不到微不足道的解决方案

【问题讨论】:

标签: python shell command-line


【解决方案1】:

使用os.popen():

tmp = os.popen("ls").read()

更新的方法(> python 2.6)是使用subprocess

proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
tmp = proc.stdout.read()

【讨论】:

  • 一个使用子流程的例子会很有帮助:)
  • 添加了一个带有子进程的示例
  • tmp = os.popen("ls").read() 很好。我有 python 2.6。
  • @HariShankar 谢谢..很好的答案!
  • 为什么子流程可能更好?
猜你喜欢
  • 2019-07-16
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 2013-08-16
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2014-12-26
相关资源
最近更新 更多