Python 读取指定行数

b=1
c=2
F = ('n'.join(open('C:\\Users\\Administrator\\Desktop\\ID.txt','r').readlines()[str(b):str(c)]))
运行结果报错
NameError: name 'b' is not defined
怎样才能将变量代入,不会出错
运行结果报这个:TypeError: slice indices must be integers or None or have an __index__ method

F = ('n'.join(open('C:\\Users\\Administrator\\Desktop\\ID.txt','r', encoding='gbk').readlines()[b:c]))

追问

请问encoding='gbk'这个是什么意思?

追答

使用gbk编码打开你的txt文件,如果你的txt文件编码是utf-8的,那么这里就需要修改为utf-8

追问

F = ('n'.join(open('C:\\Users\\Administrator\\Desktop\\ID.txt','r', encoding='utf-8').readlines()[b:c]))
TypeError: 'encoding' is an invalid keyword argument for this function
还是报错了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-24
不用str(b),直接[b:c]追问

直接写b和c 也报错了
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe0 in position 0: unexpected end of data

追答

试试open('C:\\Users\\Administrator\\Desktop\\ID.txt','r').readlines().decode('gbk')

追问

我的变量怎么带进去?

追答

open('C:\\Users\\Administrator\\Desktop\\ID.txt','r').readlines().decode('gbk')[b:c]

追问

额 还是有错AttributeError: 'list' object has no attribute 'decode'有没有联系方式私信一下吧

相似回答
大家正在搜