Ich habe ein Python-Skript parse.py, das im Skript eine Datei öffnet, z. B. Datei1, und dann etwas unternimmt, um möglicherweise die Gesamtzahl der Zeichen auszudrucken.
filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
Im Moment verwende ich stdout, um das Ergebnis in meine Ausgabedatei - Ausgabe - zu leiten
python parse.py >> output
Ich möchte diese Datei jedoch nicht manuell manuell ausführen. Gibt es eine Möglichkeit, jede einzelne Datei automatisch zu bearbeiten? Mögen
ls | awk '{print}' | python parse.py >> output
Dann ist das Problem, wie könnte ich den Dateinamen von Standardin lesen? oder gibt es bereits einige eingebaute Funktionen, um das ls und diese Art von Arbeit einfach zu erledigen?
Vielen Dank!
with ... as ...:
Aussagen verwenden. Könnten Sie das klarstellen?Permission Error: [Errno 13] Permission denied:
Sie sollten versuchen, os.walk zu verwenden
quelle
Ich habe nach dieser Antwort gesucht:
Sie können auch '* .txt' oder andere Enden Ihres Dateinamens auswählen
quelle
Sie können das OS-Modul auch einfach verwenden , um beides zu tun:
Hier ist ein einfaches Beispiel:
Jetzt haben Sie nicht nur alle Dateien in einem Ordner aufgelistet, sondern sie auch (optional) nach Startname, Dateityp und anderen sortiert. Durchlaufen Sie jetzt jede Liste und erledigen Sie Ihre Aufgaben.
quelle
quelle
Der folgende Code lautet für alle Textdateien, die in dem Verzeichnis verfügbar sind, das das von uns ausgeführte Skript enthält. Dann öffnet es jede Textdatei und speichert die Wörter der Textzeile in einer Liste. Nach dem Speichern der Wörter drucken wir jedes Wort Zeile für Zeile
quelle