Wie füge ich Dateien in Python?
Lösung
Setzt man die Bytes in diesen Dateien zusammen ist einfach ... aber ich bin nicht sicher, ob das eine kontinuierliche Wiedergabe führen. - Ich denke, es könnte, wenn die Dateien die gleiche Bitrate verwenden, aber ich bin nicht sicher,
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()
Das wird eine einzelne "everything.mp3" Datei mit allen Bytes alles MP3-Dateien in C:. \ Music zusammen verketteten
Wenn Sie die Namen der Dateien in der Befehlszeile übergeben wollen, können Sie statt sys.argv[1:]
verwenden iglob(...)
, etc.
Andere Tipps
Just zusammenfassen (und stehlen von nosklo Antwort ), um zwei Dateien verketten Sie tun:
destination = open(outfile,'wb')
shutil.copyfileobj(open(file1,'rb'), destination)
shutil.copyfileobj(open(file2,'rb'), destination)
destination.close()
Dies ist das gleiche wie:
cat file1 file2 > destination
Hmm. Ich werde nicht „Linien“ verwenden. Quick and dirty Verwendung
outfile.write( file1.read() )
outfile.write( file2.read() )
;)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow