我想用python来做 。我想在c中的此示例中做什么:
c
在C中:
#include <stdio.h> int main() { int i; for (i=0; i<10; i++) printf("."); return 0; }
输出:
..........
在Python中:
>>> for i in range(10): print('.') . . . . . . . . . . >>> print('.', '.', '.', '.', '.', '.', '.', '.', '.', '.') . . . . . . . . . .
. 在Python中print会添加\n或空格,如何避免呢?现在,这只是一个例子,不要告诉我可以先构建一个字符串然后再打印它。我想知道如何将字符串”append”到stdout。
\n
stdout
在Python 3中,你可以使用函数的sep=和end=参数print:
sep=
end=
print
不在字符串末尾添加换行符:
print('.', end='')
在要打印的所有函数参数之间不添加空格:
print('a', 'b', 'c', sep='')
你可以将任何字符串传递给任何一个参数,并且可以同时使用两个参数。
如果你在缓冲方面遇到麻烦,可以通过添加flush=True关键字参数来刷新输出:
flush=True
print('.', end='', flush=True)
在Python 2.6中,你可以print使用__future__模块从Python 3 导入函数:
__future__
from __future__ import print_function
允许你使用上面的Python 3解决方案。
但是,请注意,在从Python 2中导入flush的print函数的版本中,该关键字不可用__future__。它仅适用于Python 3,更具体地说是3.3及更高版本。在早期版本中,你仍然需要通过调用进行手动刷新sys.stdout.flush()。你还必须在执行此导入操作的文件中重写所有其他打印语句。
flush
sys.stdout.flush()
或者你可以使用 sys.stdout.write()
sys.stdout.write()
import sys sys.stdout.write('.')
你可能还需要致电
确保stdout立即冲洗。