Как объединить файлы в Python?
Решение
Объединить байты в эти файлы очень просто ... однако я не уверен, что это приведет к непрерывному воспроизведению - думаю, что это возможно, если файлы используют одинаковый битрейт, но я не уверен. р>
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()
Это создаст единый " everything.mp3 " файл со всеми байтами всех mp3-файлов в C: \ music, соединенных вместе.
Если вы хотите передать имена файлов в командной строке, вы можете использовать sys.argv [1:]
вместо iglob (...)
, и др. р>
Другие советы
Просто чтобы подвести итог (и украсть у ответа nosklo ), чтобы объединить два файла, вы делаете:
destination = open(outfile,'wb')
shutil.copyfileobj(open(file1,'rb'), destination)
shutil.copyfileobj(open(file2,'rb'), destination)
destination.close()
Это то же самое, что и
cat file1 file2 > destination
Хм.Я не буду использовать «линии».Быстрое и грязное использование
outfile.write( file1.read() )
outfile.write( file2.read() )
;)
Не связан с StackOverflow