Python 3.x 获得;属性错误:'_io.TextIOWrapper';对象没有属性';下一个'&引用;错误

Python 3.x 获得;属性错误:'_io.TextIOWrapper';对象没有属性';下一个'&引用;错误,python-3.x,Python 3.x,当我运行下面的代码时,我遇到了这个错误。我没有发现我的代码有任何问题。有人能帮我吗 data = open('F:\\Chapter 2\\Customer Churn Model.txt','r') col = data.next().strip().split(',') no_col = len(data.next().strip().split(',')) print(no_col)strong text** Python 3.x中的File对象不支持next()方法。它仅在Python

当我运行下面的代码时,我遇到了这个错误。我没有发现我的代码有任何问题。有人能帮我吗

data = open('F:\\Chapter 2\\Customer Churn Model.txt','r')
col = data.next().strip().split(',')
no_col = len(data.next().strip().split(','))
print(no_col)strong text**

Python 3.x中的File对象不支持next()方法。它仅在Python2.x中受支持。以下是解释此问题的链接:

您可以将此代码更改为上下文管理器表单:

with open('F:\\Chapter 2\\Customer Churn Model.txt','r') as data:
    col = data.readline().strip().split(',')
    no_col = len(data.readline().strip().split(','))
    print(no_col)
您的错误是由于内置的
open
所指示的_io.TextIOWrapper对象缺少
next
方法造成的。相反,您应该使用
readline
从文件中读取一行。此metdod将逐行读取文件,但如果没有足够的行,请注意错误

另外,
data=open('F:\\Chapter 2\\Customer-crosser Model.txt','r')
string也是正确的,但是上下文管理器更具pythonic风格,更安全

关于python3
next
:python3中没有
next
方法,而是由内置的
next()
函数调用的
\uuuuuuu
,如果已定义的话

例如:

generator = (i for i in range(10))
next(generator)

Out:
0
但这不是一个好的代码,最好使用
进行
关键字迭代。文件: