此问题已在此处找到答案:
运行shell命令并捕获输出(19个答案)12个月前关闭。我想从中获得输出 os.system("nslookup google.com") 但是相反,我总是 0 ,打印时。为什么会这样,我该如何解决(python 3(mac)(我研究了如何存储它在python中打印到标准输出的os.system的返回值?-但我不明白~我是python新手)
os.system("nslookup google.com")
0
ioekq8ef1#
使用 subprocess :
subprocess
import subprocess print(subprocess.check_output(['nslookup', 'google.com']))
如果返回代码不是零,则会引发错误 CalledProcessError 例外情况:
CalledProcessError
try: print(subprocess.check_output(['nslookup', 'google.com'])) except subprocess.CalledProcessError as err: print(err)
system仅返回命令的退出代码。在这里 0 意味着成功。任何其他数字表示与操作系统相关的错误。输出到该进程的标准输出。子流程打算替换 os.system .subprocess.check_output是subprocess.popen的一个方便的 Package 器,它简化了您的用例。
os.system
1条答案
按热度按时间ioekq8ef1#
使用
subprocess
:如果返回代码不是零,则会引发错误
CalledProcessError
例外情况:system仅返回命令的退出代码。在这里
0
意味着成功。任何其他数字表示与操作系统相关的错误。输出到该进程的标准输出。子流程打算替换os.system
.subprocess.check_output是subprocess.popen的一个方便的 Package 器,它简化了您的用例。