我是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文件中相等
答案 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