gpt4 book ai didi

python - 如何删除文本文件中的换行符?

转载 作者:行者123 更新时间:2023-11-28 21:43:56 26 4
gpt4 key购买 nike

import subprocess
cmd = 'tasklist'
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
file = open("Process_list.txt", "r+")
for line in proc.stdout:
file.write(str(line))

file.close()

我刚刚将保存进程列表写入文本文件。但是 Process_list.txt 文件有很多换行符,如\r\n。我怎样才能删除它?我之前用过 replace 和 strip func

最佳答案

问题可能不是关于 replacing 或 stripping 额外字符,而是关于当你运行 subprocess.Popen(cmd , shell=True, stdout=subprocess.PIPE)。后者实际上返回 bytes,这在将每一行写入文件时可能效果不佳。在将行写入文件之前,您应该能够将 bytes 转换为 string:

import subprocess
cmd = 'tasklist'
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
file = open("Process_list.txt", "r+")
for line in proc.stdout:
file.write(line.decode('ascii')) # to have each output in one line

file.close()

如果您不希望每个输出都在一行中,那么您可以使用 file.write(line.decode('ascii').strip()) 去除换行符。

此外,您实际上可以使用 subprocess.getoutput 来获取字符串字符的输出并将输出保存到您的文件中:

cmd = 'tasklist'
proc = subprocess.getoutput(cmd)
file.write(proc)
file.close()

我希望这证明是有用的。

关于python - 如何删除文本文件中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41498175/

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