私はPythonスクリプトを作成しています。異なるバイトサイズのファイルに文字列を書き込みますか?
文字列のlen()
は1048576
であり、文字列のsys.getsizeof()
は1048597
です。
ただし、この文字列をファイルに書き込むと、ファイルのバイトサイズは1051027
になります。私のコードは以下の通りですが、ファイルのバイトサイズが文字列のバイトサイズと異なるのはなぜですか?
print type(allInOne) # allInOne is my string
print len(allInOne)
print sys.getsizeof(allInOne)
newFile = open("./all_in_one7.raw", "w")
newFile.write(allInOne.encode('ascii'))
newFile.close()
私の文字列は、dataset.pixel_array
はタイプnumpy.ndarray
であり、この上に、それはこのallInOne = numpy.uint8(dataset.pixel_array).tostring()
のように生成された、前に多くのプロセスで生成され、allInOne
です。私はこの情報が助けになるかどうかわかりません。
オーバーヘッド – kaminsknator
@kaminsknatorファイルの種類などからしかし、私は、同じファイルタイプに「ABCD」のような単純な文字列、 'len'を記述する場合文字列のバイトサイズとまったく同じです。 –
'len(allInOne.encode( 'ascii'))'とは何ですか?あなたはどのファイルシステムタイプに書き込んでいますか? – cdarke