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.txtpolecenie za pomocą subprocessmodule i gotowe. Ale nie jestem pewien, czy catdziała w systemie Windows.
withinstrukcji, 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().