如何在Python中合并文件?
4 个回答
6
嗯。我不会用“行”。这是个快速而简单的用法。
outfile.write( file1.read() )
outfile.write( file2.read() )
;)
35
简单总结一下(借用一下nosklo的回答),如果你想把两个文件合并在一起,可以这样做:
destination = open(outfile,'wb')
shutil.copyfileobj(open(file1,'rb'), destination)
shutil.copyfileobj(open(file2,'rb'), destination)
destination.close()
这其实和下面的做法是一样的:
cat file1 file2 > destination
52
把这些文件里的字节拼在一起其实很简单……不过我不太确定这样做会不会让它们连续播放。我觉得如果这些文件的比特率(也就是音质)是一样的,可能会连续播放,但我不太确定。
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(...)
等等。