gpt4 book ai didi

Python 如何不打印\r 和\n

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

我有这段代码可以从 python 运行 minecraft 服务器并在命令行中打印所有内容。但是,在每一行的末尾它都打印“\r\n”,而我不希望它出现,有什么办法可以摆脱它吗?

import subprocess

def run_command(command):
p = subprocess.Popen(command,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
return iter(p.stdout.readline, b'')

for output_line in run_command('java -Xmx2048M -Xms2048M -jar minecraft_server.jar nogui'):
print(output_line)

最佳答案

您可以直接写入标准输出:

import sys
sys.stdout.write("Hello world!")
sys.stdout.write(" I'm superman :D")

上面的代码应该打印在同一行


根据要求,OP 似乎想要打印一个嵌入了换行符的长字符串,但不希望换行符有效。

假设我有一个包含两行的文本文件

Hey line 1!
I'm line 2.

下面的代码将打印两行没有换行符,用空格替换换行符:

txt = ''
with open('somename.txt', 'r') as f:
txt = f.read().replace('\r\n', ' ')
txt = txt.replace('\n\r', ' ')
txt = txt.replace('\n', ' ')
txt = txt.replace('\r', ' ')
print txt

也就是会打印

Hey line 1! I'm line 2.

您还可以解析行,然后不使用换行符打印每一行:

for line in f:
sys.stdout.write(line.strip() + ' ')

希望这就是你想要的。

关于Python 如何不打印\r 和\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42313534/

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