Lors de l'exécution du simple programme Python ci-dessous, le message d'erreur suivant s'affiche:
./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.
Vous avez oublié d'ajouter Shebang au début du script pour indiquer au shell d'interpréter votre script en tant que script python. Quelque chose comme ça:
#!/usr/bin/python
ou:
#!/usr/bin/env python
Voir aussi: Pourquoi les gens écrivent-ils #!/Usr/bin/env python sur la première ligne d'un script Python?
Ces erreurs ne sont pas typiques Python tracebacks. Ces erreurs ressemblent à des erreurs de shell.
Je pense que vous essayez d’exécuter un script Python avec Bash (ou un autre shell), c’est-à-dire que vous faites quelque chose comme:
bash url_test.py
Au lieu de cela, vous devriez utiliser:
python url_test.py