كيف يمكنني سلسلة الملفات في بيثون؟
المحلول
ووضع وحدات البايت في تلك الملفات معا من السهل ... ولكن لست متأكدا إذا كان ذلك سوف يؤدي إلى اللعب المتواصل - وأعتقد أنه ربما إذا كانت الملفات تستخدم نفس معدل البت، ولكن لست متأكدا
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: \ الموسيقى متصلا معا
إذا كنت تريد تمرير أسماء الملفات في سطر الأوامر، يمكنك استخدام sys.argv[1:]
بدلا من iglob(...)
، وما إلى ذلك.
نصائح أخرى
وفقط لتلخيص (وسرقة من الإجابة لو>)، وذلك لسلسلة الملفين تفعله:
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