为什么我的 Python 脚本因语法错误而失败?

为什么我的 Python 脚本因语法错误而失败?

运行下面的简单 Python 程序时,我收到以下错误:

./url_test.py: line 2: syntax error near unexpected token `('                  
./url_test.py: line 2: `response = urllib2.urlopen('http://python.org/')'

import urllib2      
response = urllib2.urlopen('http://python.org/')  
print "Response:", response

# Get the URL. This gets the real URL. 
print "The URL is: ", response.geturl()

# Getting the code
print "This gets the code: ", response.code

# Get the Headers. 
# This returns a dictionary-like object that describes the page fetched, 
# particularly the headers sent by the server
print "The Headers are: ", response.info()

# Get the date part of the header
print "The Date is: ", response.info()['date']

# Get the server part of the header
print "The Server is: ", response.info()['server']

# Get all data
html = response.read()
print "Get all data: ", html

# Get only the length
print "Get the length :", len(html)

# Showing that the file object is iterable
for line in response:
 print line.rstrip()

# Note that the rstrip strips the trailing newlines and carriage returns before
# printing the output.

答案1

这些错误不是典型的 Python 回溯。这些错误看起来像是 shell 错误。

我认为您正在尝试使用 Bash (或另一个 shell)运行 Python 脚本,即您正在执行类似以下操作:

bash url_test.py

相反,你应该使用:

python url_test.py

答案2

您错过了添加舍邦在脚本开头告诉 shell 将你的脚本解释为 Python 脚本。如下所示:

#!/usr/bin/python

或者:

#!/usr/bin/env python

也可以看看:为什么人们在 Python 脚本的第一行写 #!/usr/bin/env python?

相关内容