所以我正在编码,当我尝试从文本文件打印出某一行时,它会继续给我一个缩进错误。但是当我缩进它时,它会给我无效的语法.EDIT =代码工作时我删除IF GTIN == 86947367:
,但是为什么?
if GTIN == 86947367 :
fp = open("read_it")
for i, line in enumerate(fp):
if i == 0:
elif i == 2:
fp.close()
答案 0 :(得分:2)
您的代码的正确缩进将是:
if GTIN == 86947367:
fp = open("read_it")
for i, line in enumerate(fp):
if i == 0:
pass
elif i == 2:
pass
fp.close()
确保不要将 TAB 与空格混合,因为它会破坏你的缩进。
答案 1 :(得分:1)
我认为代码的缩进越好:
if GTIN == 86947367:
fp = open("read_it")
for i, line in enumerate(fp):
if i == 0:
pass
elif i == 2:
pass
fp.close()
你总是需要你的for循环,你的文件关闭缩进到与你打开'相同的水平。声明,这样只有在打开文件时才能遍历文件
更好的解决方案是:
if GTIN == 86947367:
with open("read_it") as fp:
for i, line in enumerate(fp):
if i == 0:
pass
elif i == 2:
pass
使用''确保您的代码始终关闭文件,即使发生错误也是如此。最好使用' with'打开文件或simiar时 - 你不需要使用'关闭'因为' with语句会自动处理它。