1

以下はコードスニペットです。ファイルがあります。

f = open(self.reportSavePath,'w')
self.test = '';
for file in file_sorted:
    f.write(str(os.path.getmtime(file)) + "|" + file + "\r\n")
    self.test = self.test + str(os.path.getmtime(file)) + "|" + file + "\r\n"
f.close()

print("Size:",os.path.getsize(self.reportSavePath)) #Without opening file
print("Calculated size:",len(self.test.encode()))     #After reading the contents

私の質問は、最後の 2 行で異なる出力が得られるのはなぜですか? それらは同じであるべきではありませんか?

理由がある場合、コメント付きの行を編集して、コメント#Without opening file付きの行と出力を一致させるにはどうすればよい#After reading the contentsですか?

4

1 に答える 1

1

あなたはリンゴとオレンジを比較しています。

os.path.getsizeofファイルサイズを返します。encoding に関係なくlen(some_string)、文字列の長さを文字数で返します。これは、単純なバイト数に影響を与える可能性があります。

于 2012-11-12T10:30:40.500 に答える