我想打开两个文件。第一个(masters)看起来像:
ABC0001 \t rest \t of \t line
ABC0002 \t rest \t of \t line
ABC0003 \t rest \t of \t line
...
所有“\t”都是文件中的实际选项卡,每个项目编号后面都有其他信息。在
下一个文件(allp)只有项目编号,但它们是展开的:
^{pr2}$目前我的代码:
masters = open("masters.txt","r")
allp = open("allp.txt","r")
for line in masters:
tabloc = line.find("\t")
product = line[:tabloc]
info = line[tabloc:]
for line_2 in allp:
if product in line_2:
print 1
else:
print 0
我的输出都是0。我在这里耍了一把,试着把“产品”重置为abcxxx。如果我在嵌套循环之前打印出产品,这是正确的,但是如果我在嵌套循环中打印它,那么它会打印第一个产品多少次,然后每隔一个产品都是abcxxx。在
我确信我的逻辑可以简化,但这不是必要的,我真的不知道该怎么做,因为我对python还是个新手。在
我需要的是从“masters”列表中获取主产品,并在“allp”列表中找到它的所有子产品。我需要打印每个子产品的信息从它的主产品。在
你会想要
既然你这么做了
^{pr2}$在循环中,第一次之后的所有后续迭代都将为空。在
编辑
正如mgilson所指出的,在每次迭代结束时使用
allp.seek(0)
也是一种很好的方法,特别是对于大文件。在相关问题 更多 >
编程相关推荐