从文件中检查python中的行值
所以我有一个.txt文件,它有100多行,每行上都有一个值。从文件中检查python中的行值,python,Python,所以我有一个.txt文件,它有100多行,每行上都有一个值。 如何从特定行读取值并在if中使用它? 假设我想读第34行,看看这行的值是0还是1。我真的不知道怎么解释,但我在想这样的事情。我是否能够为“print(lines[34])分配一个整数,然后将该整数与0或1进行比较?请记住,我没有python方面的经验 f = open("NT.txt",'r') lines = f.readlines() if print(lines[34]) == 1: print("something")
如何从特定行读取值并在if中使用它?
假设我想读第34行,看看这行的值是0还是1。我真的不知道怎么解释,但我在想这样的事情。我是否能够为“print(lines[34])分配一个整数,然后将该整数与0或1进行比较?请记住,我没有python方面的经验
f = open("NT.txt",'r')
lines = f.readlines()
if print(lines[34]) == 1:
print("something")
因为文件总是文本。。。我可以回答你的问题吗
(请注意,由于列表以0行开始[34]
是第35行)
当然,可能有人让你试试
if int(lines[34])==1:
您听到的是print
而不是int
这应该可以:
f=open('NT.txt', 'r')
lines=f.readlines()
if int(lines[34])==1:
print('something')
正如@JoranBeasley在上面的评论中向我的解决方案指出的,从文本文件读入的任何内容都被读入为…文本(duh!)。它需要转换为int,因此正确的
if
语句应该是:
if int(lines[34].strip()) == 1:
# Do something here.
此外,大多数人可能会使用with
语句打开文本文件,以便在使用完后自动关闭:
with open('NT.txt', 'r') as f:
lines = f.readlines()
if int(lines[34].strip()) == 1:
# Do something here.
除了您的
if
行中的错误之外,该代码应该可以工作。您的if
行实际上应该是if行[34]==1:
,而不是当前的方式。“你在正确的轨道上。”道格。至少关闭。。。如果…嘎,他永远也进不去!完全忘记了它需要转换为int!这就是快速回答的问题……当然,当我把更正作为答案发布时,你已经自己发布了。:P我有时候就是这样的忍者:)
with open('NT.txt', 'r') as f:
lines = f.readlines()
if int(lines[34].strip()) == 1:
# Do something here.