我对以下代码有疑问。
我正在尝试将txt文件作为输入,其中包含如下数据
aaaaaaaaaa
bbbbbbbbbb
cccccccccc
并将其传递给searchForJob函数以在不同的文件中执行搜索但是我的for循环输入文件没有正确执行它没有占用所有三行输入文件。它只选择第二行(bbbbbbbb)或第三行(ccccccccc)。有人可以帮我解决这个问题。我是python语言的新手。
def searchForJob(job):
with open('some location/Jls.txt',"U") as lines:
for line in lines:
if line.find(job)!=-1:
print(job + ' : Found')
break;
return
jobNames = open('some location/JNames.txt')
try:
for job in jobNames:
print(job)
searchForJob(job)
finally:
jobNames.close()
答案 0 :(得分:0)
阅读文件时,请使用compileInProcess()
模式。
每一行都有一个尾随r
,因此您需要\n
。使用strip()
功能,以便您可以看到尾随的空格。
使用Python语言功能,例如with
statement,in
keyword
按照PEP 8样式指南。
repr(...)
j.txt
def search_for_job(job):
with open('j.txt', 'r') as f:
for line in f:
if job in line:
print(repr(job) + ' : Found in ' + repr(line))
break
with open('n.txt', 'r') as job_names:
for job in job_names:
job = job.strip()
print('Searching for job ' + repr(job))
search_for_job(job)
n.txt
job 1, name 2...
job 2, name 1...
job 3, nothing
示例输出:
name 1
name 2
name 3