如何在python中避免使用标准输出空格?

如何在python中避免使用标准输出空格?,python,stdout,Python,Stdout,在处理Python时,我决定制作一个随机符号生成器,它将向CL输出连续的字符流 很简单,看起来是这样的: from random import choice import sys char_ranges = [[33,48],[58,65],[91,97],[123,127]] chars = [] for r in char_ranges: for i in range(r[0],r[1]): chars.append(chr(i)) while True:

在处理Python时,我决定制作一个随机符号生成器,它将向CL输出连续的字符流

很简单,看起来是这样的:

from random import choice
import sys

char_ranges = [[33,48],[58,65],[91,97],[123,127]]

chars = []
for r in char_ranges:
    for i in range(r[0],r[1]):
        chars.append(chr(i))

while True:
    print choice(chars),
    sys.stdout.flush()
它唯一的问题是,打印字符后使用的
会导致在
stdout.flush()后添加一个空格。调用

我通常的解决方法是连接一个字符串并打印它,但在这种情况下,我需要一个连续的输出流,因此连接没有帮助


那么,如何在Python中获得没有空格的连续输出流呢?

使用
sys.stdout.write
而不是
print

print
是一种更高级别的结构,用于快速、脏的输出。如果您需要更多的控制,请使用其他方法。

尝试以下方法:

sys.stdout.write(choice(chars))
打印语句无法执行此操作;但是,print函数可以(print(“a”,end=''))。