【问题标题】:MAC OS - os.system(command) display nothingMAC OS - os.system(command) 不显示任何内容
【发布时间】:2020-03-18 01:31:03
【问题描述】:

当我运行 IDLE (python 3.8) 时:

>>> import os
>>> os.system("ls")
0
>>> os.system('echo "test"')
0
>>> os.system("users")
0
>>> 

但如果我这样做:

os.system("ls > test.txt") 

test.txt 文件已创建并包含结果。

我尝试重新安装一切,没有任何效果... 仅当我在终端中运行 python 时,命令才有效,但 IDLE 似乎更适合工作。

谁能帮帮我?谢谢

【问题讨论】:

  • os.system() 的输出直接到你的终端; Python 在这个过程中没有任何作用。如果您不是从终端运行,则输出无处可去。使用subprocess 模块运行程序,让您可以对它们的输出做一些事情。

标签: python macos python-idle


【解决方案1】:

我遇到了同样的问题,这就是我所做的:

  • 重新启动 IDLE。
  • 重新启动我的笔记本电脑。

但是,同样的问题仍然存在。

我的建议是,你为什么不使用终端,而不是使用 IDLE?就我而言,我使用 iTerm。

$ python3.8
$ >>> import os
$ >>> os.system("ls")

一切正常。

【讨论】:

    【解决方案2】:

    如果您从终端启动 IDLE `$ python3 -m idlelib' 它们来自 os.system 的输出将出现在终端中,而返回值将打印在 IDLE Shell 中。但除非我正在开发一个使用 os.system 的 Python 脚本,否则我只会保持 IDLE 和 Terminal 都打开并在每个中键入适当的命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      • 2020-11-10
      • 2012-04-12
      • 2019-11-11
      • 2017-09-25
      相关资源
      最近更新 更多