如何在Python中连接文件?
我有多个(40到50个)MP3文件,我想将它们连接成一个文件。 在Python中执行此操作的最佳方式是什么?
使用fileinput
模块循环遍历每个文件的每一行并将其写入输出文件? 外包给windows copy
命令?
将这些文件中的字节放在一起很容易......但是我不确定是否会导致连续播放 - 我认为如果文件使用相同的比特率,但我不确定。
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”文件,并将C: music中的所有mp3文件的所有字节并置在一起。
如果要在命令行中传递文件的名称,则可以使用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() )
;)
链接地址: http://www.djcxy.com/p/7321.html