Mam listę 20 nazw plików, na przykład ['file1.txt', 'file2.txt', ...]
. Chcę napisać skrypt w języku Python, aby połączyć te pliki w nowy plik. Mógłbym otworzyć każdy plik przez f = open(...)
, przeczytać wiersz po wierszu przez wywołanie f.readline()
i zapisać każdy wiersz w tym nowym pliku. Nie wydaje mi się to zbyt „eleganckie”, zwłaszcza część, w której muszę czytać // pisać wiersz po wierszu.
Czy jest bardziej „elegancki” sposób na zrobienie tego w Pythonie?
cat file1.txt file2.txt file3.txt
polecenie za pomocą subprocess
module i gotowe. Ale nie jestem pewien, czy cat
działa w systemie Windows.
with
instrukcji, aby upewnić się, że pliki są poprawnie zamknięte, i iteruj po pliku, aby uzyskać wiersze, zamiast używać f.readline()
.
cat file1.txt file2.txt file3.txt ... > output.txt
. W Pythonie, jeśli nie lubiszreadline()
, jest zawszereadlines()
lub po prosturead()
.