如何在python中避免使用标准输出空格?
在处理Python时,我决定制作一个随机符号生成器,它将向CL输出连续的字符流 很简单,看起来是这样的:如何在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:
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=''))。