gpt4 book ai didi

python - python 中的 command.getstatusoutput() 缓冲区是否有限制

转载 作者:可可西里 更新时间:2023-11-01 11:48:01 25 4
gpt4 key购买 nike

我创建了一个脚本来对一批文件运行测试脚本,已经整夜测试了两个晚上,但它只是在某个点挂起。

我想知道 commands.getstatusoutput() 是否是这里的问题,因为测试脚本具有繁重的日志记录机制。

更新:
使用 subprocess 模块函数与使用 os.system() 有何不同,哪种做事方式更好?

最佳答案

getstatusoutput() 方法返回一个字符串,该字符串可能很长,因此会占用大量空间并导致磁盘分页和其他令人讨厌的事情。

既然 commands 模块无论如何都被弃用了,最好使用 subprocess 模块,它提供了对过程输出的类似文件的访问。如果您以后需要输出,只需将其写入硬盘上的文件即可

cmd = subprocess.Popen(['ls'], stdout=file('output', 'w'))

如果你想让进程处理输出,像这样读取stdout

cmd = subprocess.Popen(['ls'], stdout=subprocess.PIPE)
for line in cmd.stdout:
do_stuff(line)

哪个更容易内存。

关于python - python 中的 command.getstatusoutput() 缓冲区是否有限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com