我有这个 Python 代码:
file2.write(link) + '\n' + '\n' + '\n'
为什么它不起作用,但以下是:
file2.write((link) + '\n' + '\n' + '\n')
我有这个 Python 代码:
file2.write(link) + '\n' + '\n' + '\n'
为什么它不起作用,但以下是:
file2.write((link) + '\n' + '\n' + '\n')
前者调用函数,然后将字符串添加到结果中,这很可能是无效的,而且肯定是不正确的。后者将字符串加在一起并调用函数,传递加法的结果。
write 函数的括号应包含您要写入文件的所有内容。在第一个示例中,您编写(链接),然后在完成后给出一堆无意义的换行符。
在第二个示例中,您编写(链接 + 换行符),写入函数的右括号仅在末尾出现。因此,这是有效的。(虽然 write( (link) ) 有点矫枉过正)
总之:使用源代码编辑器为您突出显示匹配的括号。它使这些错误更容易被发现。
file2.write(link) + '\n' + '\n' + '\n'
您正在将link
变量的内容写入文件file2
。如果成功,此调用将返回 None,并且您将字符串'\n'
连接到此结果。最后,只有link
变量的内容会在文件中file2
。
file2.write((link) + '\n' + '\n' + '\n')
您首先将link
变量的内容连接到字符串'\n'
,使用括号将优先级设置为字符串连接。然后将它们全部写入文件file2
。
当你调用时file2.write()
,write()
对象是一个函数file2
。link
是函数的参数,它是一个字符串。当您编写时,+ '\n' + '\n' + '\n'
该表达式的计算结果为字符串"\n\n\n"
。如果您想编写link
该字符串,则必须将它们作为一个字符串参数传递给函数write()
。这是由file2.write((link) + '\n' + '\n' + '\n')
. 否则,您只是调用函数并尝试将字符串连接到函数调用的返回值。