Python 从文件中提取数据,然后处理下一行
我需要从两个文件中读一行。从文件A的第一行提取数据,并将其与文件B中的每一行进行比较。处理完文件B后,我必须读取文件A中的下一行,并将其与文件B中的所有行进行比较,依此类推。我尝试使用file.readline(),但当我使用一段时间后,它只打印最后一行Python 从文件中提取数据,然后处理下一行,python,file,nested,Python,File,Nested,我需要从两个文件中读一行。从文件A的第一行提取数据,并将其与文件B中的每一行进行比较。处理完文件B后,我必须读取文件A中的下一行,并将其与文件B中的所有行进行比较,依此类推。我尝试使用file.readline(),但当我使用一段时间后,它只打印最后一行 import sys def ReadFile(): name1='RoutingTable.txt' try: arch_table= open(name1,'r') except IOError: print
import sys
def ReadFile():
name1='RoutingTable.txt'
try:
arch_table= open(name1,'r')
except IOError:
print 'Cannot Open', name1
sys.exit()
while True:
route=arch_table.readline()
print route
if not route:
break
pass
让你开始的东西:
$ cat f1
kalle
trazan
apanzon
$ cat f2
dipsy
poo
laalaa
trazan
$ cat two.py
#!/usr/bin/env python
with open('f1') as fd1:
for line in fd1:
with open('f2') as fd2:
for other_line in fd2:
if line == other_line:
print line
输出:
$ ./two.py
trazan
让你开始的东西:
$ cat f1
kalle
trazan
apanzon
$ cat f2
dipsy
poo
laalaa
trazan
$ cat two.py
#!/usr/bin/env python
with open('f1') as fd1:
for line in fd1:
with open('f2') as fd2:
for other_line in fd2:
if line == other_line:
print line
输出:
$ ./two.py
trazan
非常感谢。你能解释一下with的作用吗?对不起,我对这方面几乎是新手。如果你是python新手,我推荐docs.python.org上的官方教程。带有的
构造在文件句柄超出范围时自动关闭文件句柄。对于文件1中的每一行,代码循环遍历文件2中的所有行,以查看是否与文件1中的行匹配。希望有帮助。太好了,这正是我需要的。谢谢表达感谢的最好方式是投票并接受:-)很高兴我能帮忙,也很欢迎我这么做!非常感谢。你能解释一下with的作用吗?对不起,我对这方面几乎是新手。如果你是python新手,我推荐docs.python.org上的官方教程。带有
的构造在文件句柄超出范围时自动关闭文件句柄。对于文件1中的每一行,代码循环遍历文件2中的所有行,以查看是否与文件1中的行匹配。希望有帮助。太好了,这正是我需要的。谢谢表达感谢的最好方式是投票并接受:-)很高兴我能帮忙,也很欢迎我这么做!