Pythonを使いこなしている間に、ランダムなシンボルジェネレータを作成することにしました。これは、文字列をCLに連続して出力します。pythonでstdoutのスペースを避けるには?
それは非常に簡単だし、次のようになります。
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で連続的な出力フローを得ることができますか?
印刷*文は*それを行うことはできません。 print( "a"、end = ''))でも、print *関数はできます。 – DSM