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,所以我很困惑。
答案 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)
我使用了您的代码并创建了类似于您的内容的文件。运行结果:确实你的“一二三”文件中有额外的不可打印字符。这是唯一的解释。空间和换行 - 最明显的事情要查找。