pythonfor循环加2_两个for循环,第二个仅在第一次迭代python上...

我是python noob,我正在尝试比较两个文件中各行之间的值,并输出“行名”,如果第二行中有该行,则输出1,如果第二个文件中缺少该行,则输出0.第一次迭代返回1,因为该行在第二个文件中,但对于> 1,000行,无论它们是否在第二个列表中,它们都返回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('

')

count = 0

for line1 in f2:

if name == line1.strip('

'):

count += 1

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

o1.write(str(name) + '' + str(1) + '

')

if count == 0:

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

o1.write(str(name) + '' + str(0) + '

')

f1.close()

f2.close()

o1.close()

Any help is very much appreciated!

进行一些更改后,这就是我所拥有的,它仅返回“ 1”

f1 = open(file1, 'r') #opens files for reading

f2 = open(file2, 'r')

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

f2s = {line.strip('

') for line in f2}

for line in f1:

line = line.strip('

')

count = 0

if line in f2s:

count += 1

print (str(line) + '' + str(1))

o1.write(str(line) + '' + str(1) + '

')

if count == 0:

print (str(line) + '' + str(0))

o1.write(str(line) + '' + str(0) + '

')

尴尬的是,我两次打开相同的文件.最佳新秀.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值