当我尝试将保存在变量中的字符串写入txt文件时,遇到了问题。

17 浏览
0 Comments

当我尝试将保存在变量中的字符串写入txt文件时,遇到了问题。

这个问题已经在这里有了答案:

运行shell命令并捕获输出

我想从 os.system(\"nslookup google.com\") 获取输出,但我总是得到 0,当我打印时。为什么会这样,并且我怎样才能解决这个问题?(Python 3,Mac)

(我看过 如何存储os.system的返回值,它已经打印到python的stdout中? - 但我不理解~我是Python新手)

admin 更改状态以发布 2023年5月21日
0
0 Comments

使用subprocess

import subprocess
print(subprocess.check_output(['nslookup', 'google.com']))

如果返回值不为零,将引发一个CalledProcessError异常:

try:
    print(subprocess.check_output(['nslookup', 'google.com']))
except subprocess.CalledProcessError as err:
    print(err)

os.system 只返回命令的退出码,其中 0 表示成功。任何其他数字都表示操作系统相关的错误。输出将传输到此进程的 stdout。subprocess 旨在取代os.system

subprocess.check_outputsubprocess.Popen的便利包装器,可简化使用案例。

0