Windard +
Github Zhihu RSS

python中的不换行输出

在Python中实现换行,我本来以为只是一件小事情,结果发现没那么简单。

Python 2.X

  1. print后加上,
    for i in range(100):
     if i%10==0 and i!=0:
         print "\n"
     print i,
    

line_break_2_1.jpg

注意,虽然没有换行,但是在两次输出之间还是默认有一定的距离。

  1. 使用sys.stdout.write()。当然你得先引入sys这个库,而且有时候需要在这个后面加上sys.stdio.flush(),不然可能因为在缓存区里看不见。
import sys
for i in range(100):
	if i%10==0:
		print "\n"
	sys.stdout.write(str(i)+" ")

line_break_2_1_2.jpg

注意,打印的参数只能是字符串或者是数组。

Python 3.X

  1. print()的原型是print(*objects,sep='',end='\n',file=sys.stdout,flush=False),所以只需要将end='\n'给替换掉就可以了。
for i in range(100):
	if i%10==0:
		print("")
	print(i,end=" ")

line_break_3_1.jpg

  1. 也是使用sys.stdout.write
import sys
for i in range(100):
	if i%10==0 and i!=0:
		print("")
	sys.stdout.write(str(i)+" ")

line_break_3_2.jpg


headlogo   Windard

但行好事,莫问前程

Blog

Opinion

Project

页阅读量:  ・  站访问量:  ・  站访客数: