【问题标题】:Exceptions on the Command Line Python OS Module命令行 Python OS 模块上的异常
【发布时间】:2012-03-18 20:03:51
【问题描述】:

我目前正在搞乱 Python 中的 OS 模块,我想做的是在命令行上捕获异常,并同时引发它们。

command = input("Enter a command:")
os.system(command)
except:............How do I do this?

假设用户输入了无效命令,例如“foo”。如何捕获异常?

【问题讨论】:

  • 你真的应该使用subprocess而不是os.system

标签: python shell command-line


【解决方案1】:

你不能,不会抛出异常。您可能可以通过 os.system() 返回的 shell 或命令的返回码来确定错误

>>> os.system('foo')
sh: foo: not found
32512

注意第二行不是python的输出。

【讨论】:

  • 我如何获取返回码,当我输入 foo 时,打印出来的只是:foo sh: foo: command not found
  • @user1247509: returncode = os.system('foo'); if returncode != 0: print('ERROR: invalid command'); #0 是正常退出状态,其他都是错误
猜你喜欢
  • 2021-07-17
  • 1970-01-01
  • 1970-01-01
  • 2014-09-18
  • 1970-01-01
  • 2020-05-05
  • 1970-01-01
  • 2020-10-11
  • 2023-03-23
相关资源
最近更新 更多