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.txt
comando utilizzando il subprocess
modulo e il gioco è fatto. Ma non sono sicuro che cat
funzioni in Windows.
with
istruzione 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()
.