使用关键字参数 end=' ' 打印时出现 SyntaxError
- 2024-12-30 08:42:00
- admin 原创
- 44
问题描述:
当我尝试此代码时:
if Verbose:
print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
我收到一条SyntaxError
声明,end=' '
认为语法无效。
为什么会发生这种情况?
请参阅“SyntaxError:在调用‘print’时缺少括号”在 Python 中是什么意思?以了解相反的问题。
请参阅为什么在 Python 2.7 中 print 中的括号是自愿的?以了解 Python 2 将其视为print
语句的一般后果。
解决方案 1:
你确定你使用的是 Python 3.x 吗?该语法在 Python 2.x 中不可用,因为print
它仍然是一个语句。
print("foo" % bar, end=" ")
在 Python 2.x 中等同于
print ("foo" % bar, end=" ")
或者
print "foo" % bar, end=" "
即以元组作为参数来调用打印。
这显然是错误的语法(文字不接受关键字参数)。在 Python 3.x 中print
是一个实际的函数,因此它也接受关键字参数。
Python 2.x 中的正确用法end=" "
是:
print "foo" % bar,
(请注意最后一个逗号,这使得该行以空格而不是换行符结束)
如果您想要更好地控制输出,请考虑sys.stdout
直接使用。这不会对输出产生任何特殊的影响。
当然,在 Python 2.x 的较新版本中(2.5 应该有它,不确定 2.4 是否有),您可以使用该__future__
模块在脚本文件中启用它:
from __future__ import print_function
unicode_literals
和其他一些好东西(例如)也是如此with_statement
。不过,这在 Python 2.x 的非常老的版本(即在引入该功能之前创建的版本)中不起作用。
解决方案 2:
这个怎么样:
#Only for use in Python 2.6.0a2 and later
from __future__ import print_function
这使您可以使用 Python 3.0 样式print
函数,而不必手动编辑所有出现的print
:)
解决方案 3:
在 Python 2.7 中,操作方法如下
mantra = 'Always look on the bright side of life'
for c in mantra: print c,
#output
A l w a y s l o o k o n t h e b r i g h t s i d e o f l i f e
在 Python 3.x 中
myjob= 'hacker'
for c in myjob: print (c, end=' ')
#output
h a c k e r
解决方案 4:
首先,你开头缺少一个引文,但这可能是一个复制/粘贴错误。
在 Python 3.x 中,该end=' '
部分将在显示的字符串后放置一个空格,而不是换行符。要在 Python 2.x 中执行相同操作,请在末尾放置一个逗号:
print "Building internam Index for %d tile(s) ..." % len(inputTiles),
解决方案 5:
我认为他使用的是 Python 3.0 而你使用的是 Python 2.6。
解决方案 6:
这只是一个版本问题。从 Python 3.x 开始,print 实际上是一个函数,因此它现在像任何普通函数一样接受参数。
这end=' '
只是说您希望语句结束后有一个空格而不是换行符。在 Python 2.x 中,您必须通过在 print 语句末尾放置一个逗号来实现这一点。
例如,在 Python 3.x 环境中:
while i<5:
print(i)
i=i+1
将给出以下输出:
0
1
2
3
4
然而:
while i<5:
print(i, end = ' ')
i=i+1
将给出输出:
0 1 2 3 4
解决方案 7:
看起来您只是缺少开头的双引号。请尝试:
if Verbose:
print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
解决方案 8:
与 Python 2 和 3兼容:
sys.stdout.write('mytext')
仅兼容Python 2
print 'mytext',
仅兼容Python 3
print('mytext', end='')
解决方案 9:
我想作者的意思可能是:
if Verbose:
print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
之后他遗漏了最初的引言print(
。
请注意,从Python 3.0开始,print
是一个函数而不是语句,如果你使用的是旧版本的 Python,则等效于:
print "Building internam Index for %d tile(s) ..." % len(inputTiles)
该end
参数表示行' '
尾而不是换行符。在早期版本的 Python 中,等效的方法是:
print "Building internam Index for %d tile(s) ..." % len(inputTiles),
(感谢伊格纳西奥)。
解决方案 10:
使用 ::python3 filename.py
我遇到了这样的错误,这是因为我的驱动器上安装了两个版本的python,即python2.7和python3。以下是我的代码:
#!usr/bin/python
f = open('lines.txt')
for line in f.readlines():
print(line,end ='')
当我通过命令运行它时python lines.py
出现以下错误
#!usr/bin/python
f = open('lines.txt')
for line in f.readlines():
print(line,end ='')
python3 lines.py
当我通过成功执行的命令运行它时
解决方案 11:
对于 python 2.7,我遇到了同样的问题,只需使用“ from future import print_function ”而不使用引号即可解决此问题。这确保 Python 2.6 及更高版本的 Python 2.x 可以使用 Python 3.x 打印函数。
解决方案 12:
如果你使用的是python 2.7,请尝试这个:
from __future__ import print_function
解决方案 13:
基本上,它出现在 python2.7 中,这里是我的工作原理代码:
i=5
while(i):
print i,
i=i-1
Output:
5 4 3 2 1
解决方案 14:
我曾经遇到过这个错误,是因为使用了版本 2.7.15,但 end='' 只适用于版本 3。
例子:
import array as arr
a=arr.array('i',[1,2,3,4])
for x in range(0,3):
print ("%d" % a[x], end=' ')
输出:显示错误“语法无效”,因为使用版本 2.7
对于版本 2.7.15,请使用以下语法
import array as arr
a=arr.array('i',[1,2,3,4])
for x in range(0,3):
print ("%d" % a[x]),
输出:1 2 3
解决方案 15:
甚至我今天也遇到了同样的错误。我经历了一件有趣的事情。如果你使用的是 python 3.x 并且仍然收到错误,则可能是以下原因:
您在同一驱动器上安装了多个 Python 版本。当您按下 F5 按钮时,会弹出 Python Shell 窗口(版本 < 3.x)
我今天遇到了同样的错误,并注意到了这一点。相信我,当我从正确的 shell 窗口(版本 3.x)执行我的代码时,我得到了令人满意的结果
解决方案 16:
我们需要在使用之前导入一个标题end=''
,因为它不包含在python的正常运行时间中。
from __future__ import print_function
现在它应该可以完美运行了
解决方案 17:
仅供我自己将来参考(我已经在不同时间来过这里两次),如果您检查后发现您使用的是 Python 3.x 或更高版本,并且收到错误提示“end=”语法不正确:请确保您确实在运行 Python 脚本,而不仅仅是尝试执行文件。我曾在一时冲动下这样做过,并认为有什么地方出了问题,但后来才发现我做的就是那样。
python "scriptName.py"
或者
python3 "scriptName.py"
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理必备:盘点2024年13款好用的项目管理软件