Warum verhält sich der Code if line and not line[0].isdigit() and line != '\n':
während und außerhalb des Projekts anders? Ich habe den folgenden Code ein Auszug aus meinem Projekt meltsubtitles in Zeile 88:Pythons `if`-Anweisung verhält sich unterschiedlich abhängig davon, wo sie ausgeführt wird?
with open('test.txt', 'r', encoding='utf-8') as finput:
for line in finput:
if line and not line[0].isdigit() and line != '\n':
pass
else:
print(line)
, wenn ich den Code aus Projekt extrahieren und mit text.txt
laufen, ausdrucken:
1
00:00:03,940 --> 00:00:07,550
2
00:00:09,280 --> 00:00:10,650
aber wenn ich Legen Sie einen ähnlichen Code zu meinem Projekt, die erste line '1\n'
wird nicht gedruckt. Die Ausgabe lautet:
00:00:03,940 --> 00:00:07,550
2
00:00:09,280 --> 00:00:10,650
Was ich erwarte, ist:
1
00:00:03,940 --> 00:00:07,550
2
00:00:09,280 --> 00:00:10,650
wenn line = '1\n'
, ich PyCharm zu debuggen und Schritt in die kritische Linie if line and not line[0].isdigit() and line != '\n':
, es seltsam Lauf in die if
Anweisung verwendet haben, während sollte es nicht ,, aber wenn ich den Code extrahieren, wird es nicht in if
Anweisung laufen.
Die test.txt
Datei ist
1
00:00:03,940 --> 00:00:07,550
Horsin' Around is filmed before a live studio audience.
2
00:00:09,280 --> 00:00:10,650
Mondays.
Mein Projekt in Github meltsubtitles Linie 88. Ich bin mit Python 3.5 und in win 10.
Warum die downvote? – EvanL00