Python File read函数的参数指的并不是字节数,而应该是字符数!
很多资料都说,read函数的参数从文件中读取的字节数,前些日子,我在测试文件读操作时偶然发现,当我读取包含汉字的文件并打印出来看时,结果并不是对应的字节数,而是字符数。
测试:
给read()函数传入了一个参数
f = open('lambda.py','r',encoding='UTF-8')
print(f.read(34))
f.close
运行结果:
在uft-8编码中,一个汉字字符占三个字节,显然,结果中的字节数超过参数所指定的字节数,我特意数了一下,参数的大小刚好等于字符数。
注意:换行符(\n)也是一个字符。