要将退出代码记录到输出文件中,可以使用以下代码示例:
import subprocess
# 执行命令,将输出结果和退出代码分别存储到变量中
result = subprocess.run(['ls', '-l'], capture_output=True)
output = result.stdout.decode('utf-8')
exit_code = result.returncode
# 将输出结果写入文件
with open('output.txt', 'w') as file:
file.write(output)
# 将退出代码写入文件
with open('exit_code.txt', 'w') as file:
file.write(str(exit_code))
在这个示例中,我们使用subprocess.run()
函数来执行命令ls -l
,并将capture_output
参数设置为True
,以捕获命令的输出结果和退出代码。
然后,我们将输出结果和退出代码分别存储到output
和exit_code
变量中。
接下来,我们使用open()
函数将输出结果和退出代码分别写入文件output.txt
和exit_code.txt
中。
请注意,这个示例仅适用于Python 3.7及以上版本。如果您使用的是Python 3.6或更早的版本,可以使用subprocess.PIPE
来捕获命令的输出结果和退出代码。以下是相应的代码示例:
import subprocess
# 执行命令
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 获取输出结果和退出代码
output, error = process.communicate()
exit_code = process.returncode
# 将输出结果写入文件
with open('output.txt', 'w') as file:
file.write(output.decode('utf-8'))
# 将退出代码写入文件
with open('exit_code.txt', 'w') as file:
file.write(str(exit_code))
在这个示例中,我们使用subprocess.Popen()
函数来执行命令ls -l
,并使用stdout=subprocess.PIPE
和stderr=subprocess.PIPE
参数来捕获命令的输出结果和错误信息。
然后,我们使用communicate()
方法获取输出结果和错误信息,并使用returncode
属性获取退出代码。
最后,我们将输出结果和退出代码分别写入文件output.txt
和exit_code.txt
中。
上一篇:备机服务器的ip地址分配
下一篇:被进程使用的文件