len函数如何实际用于文件?

时间:2012-01-14 20:03:03

标签: python function

python docs说:返回对象的长度(项目数)。参数可以是序列(字符串,元组或列表)或映射(字典)。

代码:

from sys import argv

script, from_file = argv

input = open(from_file)
indata = input.read()

print "The input file is %d bytes long" % len(indata)

文件内容: 一两三

运行这个简单程序后,我得到输出:输入文件长14个字节

Qutestion:

我不明白,如果我的文件中只写了11个字符(一个二三),len怎么可以返回14个字节,而不仅仅是11个?(顺便说一下,字节是什么?)在python中翻译如果我键入s =“一二三”然后len(s)我得到13,所以我很困惑。

3 个答案:

答案 0 :(得分:7)

“一二三”确实是13个字符(11个字母+2个空格)。

>>> open("file.txt", 'w').write("one two three")
>>> len(open("file.txt").read())
13

最有可能你有一个额外的字符串,这解释了14。

答案 1 :(得分:2)

一两三

  

一个= 3个字符

     

两个= 3个字符

     

三= 5个字符

而不是two spaces。总共有13个字符。

从文件中读取时,文件中有一个额外的space,所以有14个字符。

在你的python解释器中执行以下操作:

st = " "
len(st)

output = 1

答案 2 :(得分:1)

我使用了您的代码并创建了类似于您的内容的文件。运行结果:确实你的“一二三”文件中有额外的不可打印字符。这是唯一的解释。空间和换行 - 最明显的事情要查找。