2 つの使用方法をサポートします:
(1) 特定のフォルダー内のすべてのファイルを結合します (フォルダーなどのファイル以外のエントリは無視します)
(2) 表示されている複数のファイルを結合します。
コードをコピー コードは次のとおりです:
import sys
import os
'''
使用法(1): merge_files pathname
パス名はディレクトリであり、パス名ディレクトリ内のファイルをマージします
使用法(2): merge_files file1 file2 [file3[...]]
'''
FILE_SLIM = (256* (1024*1024)) #256M match 2**n
def merge_files(fileslist,mfname):
global FILE_SLIM
p_fp = open(mfname,"wba")
for fileファイルリスト内:
with open(file,"rb") as c_fp:
fsize = os.stat(file).st_size
count = fsize&FILE_SLIM
while count>0:
p_fp。 write(c_fp .read(FILE_SLIM))
fsize -= FILE_SLIM
count -= 1
p_fp.write(c_fp.read())
p_fp.close
def main():
argc = len(sys.argv) - 1
fileslist = []
if argc == 2:
dir_name = os.path.realpath(sys.argv[1])
assert (os .path.isdir(dir_name))
file_dir = os.listdir(dir_name)
fileslist = [os.path.join(dir_name,file) for file_dir if os.path.isfile(os .path. join(dir_name,file))]
,,,,,,,,,, ,argc) if os.path.isfile(os.path.realpath(sys.argv[index]))]
merge_files(fileslist,sys.argv[argc])
if __name__ == '__main__':
main()