を使用して複数のファイルにファイルを分割して、私はすべて読む必要があるテキストファイル内のすべてのファイルに名前を保存します小さなファイルとは、元のファイルにをマージします。は、どのように私はビデオファイルを持っていると私はサイズ<strong>256キロバイト</strong>のいくつかの小さなファイルに<strong>除算</strong>それをする必要があるのpython
pythonでこれはどうやってできますか?分割で
を使用して複数のファイルにファイルを分割して、私はすべて読む必要があるテキストファイル内のすべてのファイルに名前を保存します小さなファイルとは、元のファイルにをマージします。は、どのように私はビデオファイルを持っていると私はサイズ<strong>256キロバイト</strong>のいくつかの小さなファイルに<strong>除算</strong>それをする必要があるのpython
pythonでこれはどうやってできますか?分割で
まず刺し:
input_file = open(input_filename, 'rb')
blocksize = 4096
chunksize = 1024 * 256
buf = None
chunk_num = 0
current_read = 0
output_filename = 'output-chunk-{:04d}'.format(chunk_num)
output_file = open(output_filename, 'wb')
while buf is None or len(buf) > 0:
buf = input_file.read(blocksize)
current_read += len(buf)
output_file.write(buf)
if chunksize <= current_read:
output_file.close()
current_read = 0
chunk_num += 1
output_filename = 'output-chunk-{:04d}'.format(chunk_num)
output_file = open(output_filename, 'wb')
output_file.close()
input_file.close()
これが、あなたが途中得る可能性があります。必要に応じて適応する。
マージ:
blocksize = 4096
chunk_num = 0
input_filename = 'output-chunk-{:04d}'.format(chunk_num)
output_filename = 'reconstructed.bin'
output_file = open(output_filename, 'wb')
while True:
try:
input_file = open(input_filename, 'rb')
except IOError:
break
buf = None
while buf is None or len(buf) > 0:
buf = input_file.read(blocksize)
output_file.write(buf)
input_file.close()
chunk_num += 1
input_filename = 'output-chunk-{:04d}'.format(chunk_num)
output_file.close()
あなたの答えをありがとう、それは素晴らしい仕事ですが、どのように私はすべてのファイルを読み取って、元のファイルにそれらをマージすることができますか? –
um、 'cat output-chunk- *> reconstructed.bin'です。 – wildwilhelm
申し訳ありませんあなたのコメントを理解できません!どのように私はそれらをPythonを使用してマージできますか? –
おそらくそう。何か具体的に? –
これはPythonでも可能ですが、すでにそれを行うプログラムが存在します: 'split'と' cat' –
小さなファイルはビデオとして読み込む必要がありますか?大きなファイルを分割してチャンクにするだけでは、それはできません。 –