Ho un elenco di 20 nomi di file, come ['file1.txt', 'file2.txt', ...]. Voglio scrivere uno script Python per concatenare questi file in un nuovo file. Potrei aprire ogni file f = open(...), leggere riga per riga chiamando f.readline()e scrivere ogni riga in quel nuovo file. Non mi sembra molto "elegante", specialmente la parte in cui devo leggere // scrivere riga per riga.
Esiste un modo più "elegante" per farlo in Python?
cat file1.txt file2.txt file3.txtcomando utilizzando il subprocessmodulo e il gioco è fatto. Ma non sono sicuro che catfunzioni in Windows.
withistruzione per assicurarsi che i file siano chiusi correttamente e iterare sul file per ottenere le linee anziché utilizzare f.readline().
cat file1.txt file2.txt file3.txt ... > output.txt. In Python, se non ti piacereadline(), c'è semprereadlines()o semplicementeread().