Ich habe ein Programm, das eine Textdatei als Eingabe nehmen und ein paar Dinge mit jeder Codezeile machen muss.Python - Bestätigung der Zeichenfolge aus Textdatei entspricht Format
Bevor ich jedoch irgendetwas mit der Textdatei machen kann, muss ich sicherstellen, dass jede Zeile einem bestimmten Format entspricht, das in diesem Fall der Name der Stadt wäre (was eine beliebige Zeichenfolge sein könnte, wäre keine echter Stadtname) gefolgt von einem ',' gefolgt von einer Zahl.
towna, 2,43
Dies ist, was ich im Moment haben, funktioniert es in Bezug auf die Herstellung der Funktionsprogramm aber es funktioniert nicht:
eine typische Linie würde wie folgt aussehen vergewissere dich, dass die Daten korrekt sind, also wenn es falsch ist (und es wird von Zeit zu Zeit sein), wird es mir einen Fehler geben. Ich habe ein paar Sachen über re.match gelesen, aber ich verstehe nicht, wie man es benutzt.
def read_file(fileName):
weatherFile = open(fileName)
for line in weatherFile:
stripped = line.replace(' ','')
pass #add data validation for file
town, rain = stripped.split(",")
if checkIfExists(town):
dataList.append({"city":town, "average_rainfall":float(rain.rstrip())})
else:
print("It looks like {0} is on the list twice. Please ensure all towns in {1} only appear once and try again." .format(town, fileName))
break
Danke, können Sie eine schnelle Erklärung geben, was das Muster = re.compile line bedeutet? – Mick
@Mick, ich habe eine Erklärung hinzugefügt – smac89