Linien aller Textdateien bearbeiten in einem Verzeichnis mit Python würde Ich mag zu diesem Zweck Linien aller TXT-Dateien in einem Verzeichnis mit Python bearbeiten und ersetze ich den folgenden Code verwenden:Wie
path = '.../dbfiles'
for filename in os.listdir(path):
for i in os.listdir(path):
if i.endswith(".txt"):
with open(i, 'r') as f_in:
for line in f_in:
line=tweet_to_words(line).encode('utf-8')
open(i, 'w').write(line)
Dabei ist tweet_to_words(line)
eine vordefinierte Funktion für Editierzeilen der Textdatei. Obwohl ich nicht sicher bin, ob die Logik des Codes richtig ist !? Ich bin auch mit Blick auf den folgenden Fehler:
IOError: [Errno 2] No such file or directory: 'thirdweek.txt'
aber die 'thirdweek.txt' existieren in dem Verzeichnis! Also meine Frage ist zu sehen, ob die Methode, die ich zum Bearbeiten von Zeilen in einer Datei verwende, richtig ist oder nicht !? und wenn ja, wie kann ich den Fehler beheben?
Wenn die Dateien nicht riesig sind (über 1MB), empfehle ich, zuerst die Datei mit content = f.readlines() zu lesen und dann twe anzuwenden et_to_words zu jedem Element. Danach öffnen Sie die Datei erneut zum Schreiben und schreiben Sie die transformierten Zeilen zurück (f.write ("". Join (content))) – traianus
Sie müssen den richtigen Pfad angeben, wie in Ohads Antwort gezeigt. Und Sie brauchen eine andere Logik, um die Datei zu bearbeiten. Momentan löscht Ihr '.write'-Aufruf alle vorhandenen Inhalte der Datei. Entweder tun Sie, was traianus vorschlägt, oder noch einfacher, erstellen Sie eine neue Datei mit den bearbeiteten Daten. –