我在使用此代码时遇到麻烦。这似乎很简单,但是由于某种原因,无论我做什么,都行不通。
我正在尝试从文件中读取特定行,如果该行为空,则会显示错误。问题是代码不起作用,即使该行上有内容,也仍会返回同一行。
为了更具体地说明该怎么做,文件开头只有一行。“列表”。
之后,其他所有内容均为空。如果我打印文件中的内容,它将返回“列表\ n”。
因此,我正在尝试检查第二行(索引1)是否为空,然后输出我尝试使用变量执行此操作的错误lines = [1]
,但这没有用。这是我尝试使用https://www.kite.com/python/answers/how-to-read-specific-lines-of-a-text-file-in-python的操作的链接lines = [1]
with open("file.txt", "r") as f:
lines = f.readlines()
for line in lines:
if line == "List: \n" + "\n":
print("\nThere are no lists!")
else:
#Do something
在if line == "List: \n" + "\n"
您可以print(repr(line))
看到它不是您要寻找的价值之前。lines
是行的列表,并且最多只有一个换行符,并且在行末。最后一行可能没有换行符,具体取决于文件是否以一个结尾。
相反,只需查找单行的内容。删除该行可以处理换行符和最后出现的任何不便的空格,并可以弥补文件中的小错误。
with open("file.txt", "r") as f:
lines = f.readlines()
if not lines or lines[0].strip() != "List:":
print("Invalid file")
elif len(lines) < 2 or not(lines[1].strip()):
print("\nThere are no lists!")
您无需读取整个文件即可执行此操作。zip
合并两个集合,最短处停止。利用你可以
with open("file.txt", "r") as f:
lines = [line.strip() for _, line in zip(range(2), f)]
if not lines or lines[0] != "List:":
print("Invalid file")
elif len(lines) < 2 or not(lines[1].strip()):
print("\nThere are no lists!")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句