当我在这段代码中定义一个函数时:
def is_palindrome(seq):
s=seq[::-1]
if s==seq:
return True
else:
return False
myfile=open('palindrome.txt','r')
for line in myfile:
if is_palindrome(line.srtrip()):
print(line,end='')
myfile.close()
它在我的控制台中返回此错误消息:
./palindrome.py: line 1: syntax error near unexpected token `('
./palindrome.py: line 1: `def is_palindrome(seq):'
我不知道这里出了什么问题。
最佳答案
您正在将脚本作为 *sh 脚本执行。你应该做 python palindrome.py
实际上,您收到的错误消息通常是 *sh 脚本的错误...当您通过 ./palindrome.py
调用脚本时,它会使用第一个解释器执行它火柴。它似乎是来自您的 Linux 环境的 *sh 解释器。
为避免这种情况,最好的方法是在 Python 脚本的第一行添加 #!/usr/bin/env python
,这会强制您使用 Python 解释器而不是 *sh 解释器的命令行。
注意:*sh 在这里表示 sh 的任何派生词:bash、zsh 等。
关于python - Python 中似乎有效的函数定义的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20528815/