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

我的问题是,为什么最后两行给出不同的输出?它们不应该相同吗?

如果有原因,我如何编辑带有注释的行#Without opening file以匹配带有注释行的输出#After reading the contents

4

1 回答 1

1

你在比较苹果和橘子。

os.path.getsizeof返回文件大小。len(some_string)以字符为单位返回字符串的长度,而不考虑 encoding,这会影响原始字节数。

于 2012-11-12T10:30:40.500 回答