如何从.INI文件中读取字符串,然后从文本文件中读取该字符串并使用Python打印整行?

时间:2015-10-27 09:43:24

标签: python

我是Python新手,我编写了如下代码。

if(sections=='EQUAL'):

  print "Equal"
  for name in config.items('EQUAL'):

    s=str(name[0]) 
    print s
    for each_file in list_of_files:

      if each_file.endswith('_abc.TXT'):
        f=open(each_file)
           for line in f:
             if(re.search("s", line)):
           print line
                       `txt=line.split(":")
                        s1=str(txt[1])
                        s1=s1.lstrip()
                        s1=s1.strip('\t\r\n')
                        n1=str(name[1])
                        if(s1==n1):
                            print "Yes!!"`

代码正在读取INI文件,该文件的部分定义为EQUAL。 EQUAL部分内的值(在代码中被视为s)可以不断变化,因此我们无法在代码中保持不变。

它必须在_abc.txt文件中搜索s,如果找到s,则必须打印该行。

The **output** of the above code is:

Equal
Number of failed students(abc)

在INI文件中我有:

[EQUAL]

Number of failed students(abc):5657

_abc.txt文件将如下:

Number of failed students(abc)                                 :5647
Number of passed students(dce)                                  : 9695
total number of students                                         :15000
average marks of each student                                    :600

代码应检查.ini文件中的字符串值是否在_abc.txt文件中相等

2 个答案:

答案 0 :(得分:0)

更改行:

if(re.search("s", line)):

要:

if(re.search(s, line)):

要搜索真实字符串而不是"s"

同时将最后print处的缩进修复为if statment

答案 1 :(得分:0)

试试这个 -

if(sections == 'EQUAL'):
    print "Equal"
    for name in config.items('EQUAL'):
        s = str(name[0]) + ':' + str(name[1])
        print s
        for each_file in list_of_files:
            if each_file.endswith('_abc.TXT'):
                f = open(each_file)
                for line in f:
                    if s in line: #checks for the presence of a substring in a string
                        print line

注意: .ini文件应采用以下格式 -

name = value