最近在写习题的时候发现了一个有趣的现象
-
先来看下面这一段代码
import os
os.chdir(r'C:\Users\Alex.hasee-PC\Desktop\pythonprogram\0007')
f=open('test.py')
p=f.readlines()
for line in p:
print p.index(line)
目的是输出行标,运行没有问题
-
我们修改代码如下的话,把for循环的第一个p替换为readlines()
import os
os.chdir(r'C:\Users\Alex.hasee-PC\Desktop\pythonprogram\0007')
f=open('test.py')
p=f.readlines()
for line in f.readlines():
print p.index(line)
结果如下图
-
代码如下时
import os
os.chdir(r'C:\Users\Alex.hasee-PC\Desktop\pythonprogram\0007')
f=open('test.py')
p=f.readlines()
for line in f.readlines():
print f.readlines().index(line)
结果如下图
-
下面是最后一种情况
import os
os.chdir(r'C:\Users\Alex.hasee-PC\Desktop\pythonprogram\0007')
f=open('test.py')
p=f.readlines()
for line in p:
print f.readlines().index(line)
会...emmmm 报错
-
具体原因我也不清楚,对于这种连续使用函数的操作,预先设置变量会比较合理吧