Ich greife mal ein Beispiel heraus.
Hier überschreibst du das Builtin file. Zudem erfolgt das Schließen der Datei zu einem sehr merkwürdigen Zeitpunkt. Dann verwendest du innerhalb der Schleife immer line.lower().strip(), statt direkt mit dem passenden Wert durch die Schleife zu laufen. Wofür dann bei dem Pattern im regulären Ausdruck Großbuchstaben eingesetzt werden will sich einem nicht wirklich erschließen.bluelagoon hat geschrieben:Code: Alles auswählen
import re config_file = 'dp_clienttask.ini' file = open(config_file) for line in file.readlines(): if line.lower().strip().startswith("boottime"): choice = re.split('^boottime\s*=\s*([0-9]+)', line.lower().strip())[1] elif line.lower().strip().startswith("destination="): dest = re.split('^[dD][eE][sS][tT][iI][nN][aA][tT][iI][oO][nN]\s*=\s*(.+)\s*$', line.lower().strip())[1] file.close()
Code: Alles auswählen
import re
from itertools import imap
config_file = 'dp_clienttask.ini'
with open(config_file) as f:
for line in imap(str.strip, imap(str.lower, f)):
if line.startswith('boottime'):
choice = re.split('^boottime\s*=\s*([0-9]+)', line)[1]
elif line.startswith('destination='):
dest = re.split('^destination\s*=\s*(.+)\s*$', line)[1]
Deine Fragen und Erklärungen hier im Forum sind jetzt leider ähnlich wüst wie dein Programmierstil. Aus dem Zusammenhang gerissen, ohne sauberes Konzept dahinter - kurz gesagt größtenteils unverständlich. Wir würden ja gerne sinnvoll helfen, aber du schaffst es einfach nicht, eine für uns verständliche Frage zu formulieren.