禁止以python 3 str.format打印换行符

我正在使用Python 3,并尝试将我的打印语句与str.format一起使用.

例如:

print ('{0:3d} {1:6d} {2:10s} '.format (count1,count2,string1)) 

当我尝试使用end =”来禁止随后的换行符时,将被忽略.换行总是发生.

如何取消后续的换行符?

资源:

int1= 1
int2 = 999
string1 = 'qwerty'
print ( '{0:3d} {1:6d} {2:10s} '.format (int1,int2,string1))
print ('newline')
print ( '{0:3d} {1:6d} {2:10s} '.format (int1,int2,string1,end=''))
print ('newline')
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "copyright", "credits" or "license()" for more information.

1 999 qwerty
newline

1 999 qwerty
newline

解决方法:

您的问题是您将end =“”参数传递给format函数,而不是print函数.

更改此行:

print ( '{0:3d} {1:6d} {2:10s} '.format (int1,int2,string1,end=''))

对此:

print ( '{0:3d} {1:6d} {2:10s} '.format (int1,int2,string1), end='')

顺便说一句,您还应该读取PEP8.它定义了Python编码样式的标准,除非您正在与一群已就其他样式标准达成协议的人员合作,否则您应该真正遵循这些标准.特别是,函数调用之间的间隔有些奇怪-函数名与参数括号之间或括号与第一个参数之间不应有空格.我以保持您当前风格的方式写出了针对您问题的建议解决方案,但实际上看起来应该更像这样:

print('{0:3d} {1:6d} {2:10s} '.format(int1, int2, string1), end='')
上一篇:《Python核心编程》 第五章 数字 - 课后习题


下一篇:Java模拟表单POST上传文件