>> print("hello",file=out) File-6ren">
gpt4 book ai didi

python - 为什么在打印到文件时这个等号会出现 SyntaxError?

转载 作者:行者123 更新时间:2023-11-28 19:55:10 29 4
gpt4 key购买 nike

我在 macbook 上使用终端将数据打印到打开的文件中:

>>> out=open("test_output.txt","w")
>>> print("hello",file=out)
File "<stdin>", line 1
print("hello",file=out)
^
SyntaxError: invalid syntax

为什么会出现SyntaxError,如何解决?无论如何,相同的脚本在 IDLE 中运行良好。

附言:

它是 Python 2.7,我实际上已经安装了 Python 3.5,但是 NetworkX 和 Matplotlib 的包都自动安装到 Python 2.7 的库中,所以这是我在进行社交网络分析时使用的平台。

最佳答案

在我开始回答您有关语法错误的问题之前,我首先需要告诉您 Python 有 两个 版本。 Python 2 和 Python 3。Python 3 是该语言的预期 future ,也是在您的 IDLE 安装中运行的版本。 Python 2 是您在命令行中调用 python 时使用的版本。

两者之间没有太大区别,但 print 肯定是其中之一。 print 在 Python 3 中是一个函数,但在 python 2 中是一个语句。这到底是什么意思?在 Python 2 中,print 不返回任何内容,它只是将数据推送到命令行。在 Python 3 中,它实际上返回一些东西。这意味着在 Python 3 中,您可以执行如下操作:

a = print("thing")

在 python 2 中,如果我们做同样的事情,我们会得到一个语法错误:

>>> a = print("thing")
File "<input>", line 1
a = print("thing")
^
SyntaxError: invalid syntax

因为 print 是 Python 3 中的一个函数,您可以为它提供额外的参数。这就是为什么您可以执行类似 print("thing", out=file) 的原因。在 python 2 中,等效项是 print>>file, "thing"

因此,您现在有几个选择。您可以更改 .py 文件以反射(reflect) Python 2 中的正确语法。您可以使用 python 3 运行该文件,而不是使用 python 2 使用 python3 在命令行。

关于python - 为什么在打印到文件时这个等号会出现 SyntaxError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29860552/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com