python两个for循环为什么第二个循环里值不变_两个for循环,第二个只在第一个迭代python上执行...

我是一个pythonnoob,我试图比较两个文件中的行之间的值,如果行在第二个文件中,则输出“line name”,然后输出1;如果第二个文件中缺少该行,则输出0。第一次迭代返回1,因为该行在第二个文件中,但是对于剩余的>1000行,它们都返回一个0,而不管它们是否在第二个列表中。似乎第二个“for循环”只在第一次迭代中执行。你知道为什么吗?这是我的代码:import sys

file1 = sys.argv[1]

file2 = sys.argv[2]

name = str(file2)

f1 = open(file1, 'r')

f2 = open(file1, 'r')

o1 = open((name + '1.txt'), 'w')

for line in f1:

name = line.strip('\r\n')

count = 0

for line1 in f2:

if name == line1.strip('\r\n'):

count += 1

print (str(name) + '\t' + str(1))

o1.write(str(name) + '\t' + str(1) + '\r\n')

if count == 0:

print (str(name) + '\t' + str(0))

o1.write(str(name) + '\t' + str(0) + '\r\n')

f1.close()

f2.close()

o1.close()

Any help is very much appreciated!

经过一些更改后,这就是我所拥有的,它只返回'1s'

^{pr2}$

尴尬的是,我打开同一个文件两次。菜鸟。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值