Dans le passé j'utilisais line.rfind pour trouver une variable fixe et mon script fonctionnait correctement. Cependant, maintenant que j'essaie d'utiliser line.rfind pour trouver une variable changeante, j'obtiens une erreur de syntaxe pour une ligne de code qui fonctionnait. Voici le code que j'ai.SyntaxError lié à line.rfind
#!usr/bin/env python
import urllib
from datetime import datetime
from datetime import timedelta
date = datetime.now()
date1 = date + timedelta(days=1)
class city :
def __init__(self, city_name, link, latitude, longitude) :
self.name = city_name
self.url = link
self.low0 = 0
self.high1 = 0
self.high2 = 0
self.low1 = 0
self.low2 = 0
self.lat = latitude
self.long = longitude
def retrieveTemps(self) :
filehandle = urllib.urlopen(self.url)
# get lines from result into array
lines = filehandle.readlines()
# (for each) loop through each line in lines
line_number = 0 # a counter for line number
for line in lines:
line_number = line_number + 1 # increment counter
# find string, position otherwise position is -1
position0 = line.rfind('title="{}"'.format(date1.strftime("%A"))
# string is found in line
if position0 > 0 :
self.low0 = lines[line_number + 4].split('&')[0].split('>')[-1]
L'erreur que je reçois dit ...
if position0 > 0 :
^
SyntaxError: invalid syntax
Des idées sur ce qui ne va pas? Je suppose que c'est en quelque sorte lié au changement que j'ai fait dans cette ligne ...
position0 = line.rfind('title="{}"'.format(date1.strftime("%A"))
Nous vous remercions de votre aide!
Comme il est indiqué byt @ Artsiom-rudzenka il est un parantheses manquant. Je vous recommande d'utiliser un éditeur intelligent (ou IDE) qui vous indiquera des erreurs aussi simples. – timss
Merci pour la suggestion! – EverythingWX