Come concatenare i file in Python?
Soluzione
Mettere insieme i byte in quei file è facile ... tuttavia non sono sicuro che ciò causerà una riproduzione continua - penso che potrebbe accadere se i file utilizzano lo stesso bitrate, ma non sono sicuro.
from glob import iglob
import shutil
import os
PATH = r'C:\music'
destination = open('everything.mp3', 'wb')
for filename in iglob(os.path.join(PATH, '*.mp3')):
shutil.copyfileobj(open(filename, 'rb'), destination)
destination.close()
Ciò creerà un unico "tutto.mp3" file con tutti i byte di tutti i file mp3 in C: \ musica concatenati insieme.
Se vuoi passare i nomi dei file nella riga di comando, puoi usare sys.argv [1:]
invece di iglob (...)
, ecc.
Altri suggerimenti
Solo per riassumere (e rubare dalla la risposta di nosklo ), per concatenare due file che fai:
destination = open(outfile,'wb')
shutil.copyfileobj(open(file1,'rb'), destination)
shutil.copyfileobj(open(file2,'rb'), destination)
destination.close()
È lo stesso di:
cat file1 file2 > destination
Hmm. Non userò " linee " ;. Uso rapido e sporco
outfile.write( file1.read() )
outfile.write( file2.read() )
;)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow