使用python 3.5

时间:2016-04-13 12:23:16

标签: python python-3.x

非常需要这方面的帮助:

f = open('/Volumes/Personal/example.text','r+')

for line in f:
    print(line, end='')
    if (line.startswith("path = ")) in f:
        line = CurrentFilePath + "\n" 
        f.write(line)
        print ("Success!!!!")
    else:
        print('Errorrrr!!!')

这行代码只读取文件,一旦需要读取然后替换的行,就会抛出错误!请帮忙。对python来说非常新。

2 个答案:

答案 0 :(得分:2)

您的问题出在您的if声明中:

if (line.startswith("path = ")) in f:

当您到达以" path ="开头的行时,该行评估为:

if True in f:

......这真的没有意义。文件不包含布尔值。只需删除in f即可让您超越;它在这里没有为你做任何事。

答案 1 :(得分:0)

f是一个迭代器,in循环中的for运算符用于调用next()inif做什么?检查if的语法。从该行删除in f,希望它能正常工作。