2017-04-16 67 views
0

我想从python中的文件中读取数据,并比较它是否与某些信息匹配。我有这个从文件中的字符串不匹配python中的字符串

with open("data.dat", "r") as f: #read data in from the file 
    for line in f: 
     if line is "Static": #this adds the data for the static attack 

当我从我的文件中读取数据时,它跳过它。我为什么不知所措。

这是我的data.dat文件。

Static 
0 10 
1 50 

回答

3

您可以使用==比较两个字符串:

with open("data.dat", "r") as f: 
    for line in f: 
     if line == "Static": 

is是用来测试两个对象是否是同一个对象(比较认同)。

==用于比较两个变量的值。

Python Language Reference - Objects, values and types

每个对象都有一个标识,类型和一个值。对象的身份一旦创建就不会改变;你可能会认为它是内存中对象的地址。 is运算符比较两个对象的标识; id()函数返回一个表示其身份的整数。

0

对于这个应用程序,你可以使用in运营商,像这样:

with open("data.dat", "r") as f: 
    for line in f: 
     if "Static" in line: 
      # do something 

这是,如果你想用串“静”,由条件被抓,任何线无论或者不是它是唯一的字符串。

如果严格想赶上那只有子串“静”,在里面,与尾部空格除外行,那么你可以使用==运营商,像这样:

with open("data.dat", "r") as f: 
    for line in f: 
     if line.strip() == "Static": 
      # do something