pythonで、
python
1name = 'ファイルまでのパス' 2with open(name, 'rb') as f: # ファイルをバイナリモードで読み込む 3 while True: 4 bait = f.read(1) # ファイルを1バイトづつ読み込み、baitに代入する 5 if bait: 6 bait = str(bin(ord(bait))) # baitを二進数表記(例:0b1101等)に変換 7 bait = bait[2:] # baitの先頭2文字(0b)を削除 8 zero_comp = 8 - len(bait) 9 while zero_comp > 0: # baitのサイズを1バイト(8ビット)にする 10 bait = '0' + bait 11 zero_comp = zero_comp - 1 12 small_bin = list(bait) # baitを1文字づつsmall_binに代入する 13 x_arr.append(small_bin) # x_arrにsmall_binを代入する 14 else: 15 break
というようなコードを書いてファイルのデータをlist型の変数(ここではx_arr)に代入しています。
しかし、このコードだと数MBほどしかないファイルデータを代入するだけで
x_arrが数GBものメモリを消費してしまいます。
listのメモリ使用量を抑える方法があれば教えてほしいです。
わかりにくい質問ですみません。
回答1件
あなたの回答
tips
プレビュー