非常需要这方面的帮助:
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来说非常新。
答案 0 :(得分:2)
您的问题出在您的if
声明中:
if (line.startswith("path = ")) in f:
当您到达以" path ="开头的行时,该行评估为:
if True in f:
......这真的没有意义。文件不包含布尔值。只需删除in f
即可让您超越;它在这里没有为你做任何事。
答案 1 :(得分:0)
f
是一个迭代器,in
循环中的for
运算符用于调用next()
。 in
对if
做什么?检查if
的语法。从该行删除in f
,希望它能正常工作。