随遇而安8 发表于 2020-5-22 20:46

python 小白求问

如图,我想把f.txt中的字,在z.txt中找出来


最后输出这种结果


用Python写,我不知道哪里逻辑不对,结果输出不全


请大神帮忙看看

还有一个问题,就是txt文件编码问题,有的文件就必须用utf-8才能打开,有的文件就不用

airdge 发表于 2020-5-22 22:04

import re
f = open('./f.txt',"r").read()
z = open('./z.txt',"r").read()

for i in f.split("\n"):# \r\n
        fin=re.search('%s--[^\n]+'%i,z)
        try:
                print(fin.group())
        except:
                pass
       # print(repr(i))

Deteriorator 发表于 2020-5-22 20:55

将Z中的文件分割,通过正则或这直接if判断就OK了,很简单的,不难

随遇而安8 发表于 2020-5-22 20:57

Deteriorator 发表于 2020-5-22 20:55
将Z中的文件分割,通过正则或这直接if判断就OK了,很简单的,不难

我应该怎么修改代码,
if就是判断如果line1 在 line2 中,就打印line2 啊

pwp 发表于 2020-5-22 21:16

自动管理百度网盘账号{:1_921:}

scifi 发表于 2020-5-22 21:38

同上建议用正则匹配

黄河大鲤鱼 发表于 2020-5-22 22:01

with open('1.txt') as f1:
    l1=f1.readlines()
    with open('2.txt') as f2:
      l2=f2.readlines()
      for i in l1:
            if i!='\n':
                for j in l2:
                  if i in j:
                        print(j)

黄河大鲤鱼 发表于 2020-5-22 22:02

没源材料没法试,随手写的

沐雨红尘 发表于 2020-5-22 22:28

随遇而安8 发表于 2020-5-23 07:10

沐雨红尘 发表于 2020-5-22 22:28
这个写得好 我没看懂发帖人的代码逻辑在哪里 乱套的逻辑

就是6楼的那种逻辑
页: [1] 2 3
查看完整版本: python 小白求问