|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
想写一个冠子码重复比对小程序,没找到方法,有没有大佬帮忙解答一下
就是日志文件中会有冠子码信息,找出文件中的冠子码进行比对,每条数据中冠子码最多100个,最少是1个,重复的冠子码提取出来并显示该冠子码出现的时间,谢谢
[2020-08-10 07:43:29][/sdcard/XZ_Pay/Log/][1431]存款机芯指令 CIM_Deposit1:0_amount:1900_countingInfo:100 Q3F8083944&100 C2H5409075&100 C3E2991861&100 RZ42419012&100 MU61551184&100 D2Z9849930&100 Y4A2512722&100 Y4A8351496&100 KJ81567026&100 S9H6874889&100 MT24766465&100 B4E7805979&100 RZ22197118&100 UC41823025&100 NL39405162&100 PT68100371&100 A60D881289&100 ----------&100 NL20381806
[2020-08-10 07:43:57][/sdcard/XZ_Pay/Log/][1431]存款机芯指令 CIM_Deposit1:0_amount:2000_countingInfo:100 MU13798297&100 R9K1243213&100 C8G3358996&100 B0W4827025&100 WJ93326806&100 C4G4469999&100 G1N0228549&100 BL00634427&100 KA31087527&100 GG17260906&100 PU07845093&100 CG80464711&100 SG56041584&100 BZ05442585&100 EP00137567&100 EP00137568&100 EP00137569&100 NK01460852&100 NK01460851&100 KL89510249
[2020-08-10 07:45:55][/sdcard/XZ_Pay/Log/][1431]存款机芯指令 CIM_Deposit1:-5998_amount:2350_countingInfo:100 H9H3787563&100 MQ35621784&100 DZ40172378&100 PA75929314&100 LZ19548469&100 B6S7396772&100 B6S7396779&100 B6S7396774&100 RY09971353&100 SX16757158&100 NK31593163&100 F7C0435331&100 LY07962480&100 KN96430993&100 Z1P4793576&100 R32R076783&100 MQ30887355&100 HN59631630&100 YW10472672&100 UB29933383&100 Q1W6122698&100 E4S4963715& 50 RY27127800& 50 ZZ19962894& 50 ZT96015036
[2020-08-10 12:04:03][/sdcard/XZ_Pay/Log/][1431]存款机芯指令 CIM_Deposit1:0_amount:6300_countingInfo:100 F1H6406114&100 RY49201669&100 C1C9010607&100 NH98992853&100 R13R455483&100 Q2F1305710&100 C48Y122858&100 D16F432848&100 OQ92484666&100 H1S5351512&100 TG30290333&100 UC72740444&100 B85G439151&100 LJ14528985&100 W2P2494711&100 YB67392466&100 C8J9223162&100 ZS46502380&100 P3D3379352&100 F1H6406112&100 F1H6406111&100 KL15410966&100 UC94912274&100 Q8F9086681&100 NN15035955&100 J9B9910714&100 Q7D6438088&100 KL10053493&100 R98Q011621&100 PJ79169862&100 W4D2206770&100 YJ41770140&100 DE87013442&100 S1D3647269&100 N11W266076&100 RY71022314&100 NM74324965&100 D66S125680&100 QX08357167&100 PW34192470&100 H0Q0656785&100 DB87703139&100 Q6A4843745&100 BF92813990&100 G3Q5527871&100 Q2B4440591&100 EK40906881&100 UP00455729&100 NK19194466&100 JZ09566683&100 U4K0925665&100 BP16919474&100 HL26038607&100 E0P2635279&100 EP02178809&100 EP48474427& 50 RT34693825&100 GU04240403&100 RY07833996& 50 WY29677864& 50 QB32426262&100 X52P944159& 50 QQ57601424&100 G3Q5527873&100 XN89985111
- import re
- s1 = '[2020-08-10 15:39:54][/sdcard/XZ_Pay/Log/][1410]存款机芯指令 CIM_Deposit1:0_amount:2000_countingInfo:100 KL75652418&100 E6S9549928&100 MR02222661&100 F1H6406114& 50 RY23212014&100 CK78501286&100 UM02606526&100 B26R384248&100 MT24254172&100 E8Q2689387&100 Q4F1943476&100 KJ29198589&100 ES52825575&100 BL32258602&100 Z9Z5397319& 50 ZZ16997063& 50 RY25753241& 50 QP20289259& 50 TP99731738& 50 AJ50529175& 50 AJ50529176& 50 AJ50529184& 50 WW70182203& 50 ZU05399582& 50 AJ50529173& 50 ZZ18675992'
- l1 = s1.split('countingInfo:100')
- s2 = str(l1[1])
- print(s2)
- p = r'.{10}&'
- a1 = re.findall(p,s2)
- print(a1)
- ss1 ='[2020-08-10 12:04:03][/sdcard/XZ_Pay/Log/][1431]存款机芯指令 CIM_Deposit1:0_amount:6300_countingInfo:100 F1H6406114&100 RY49201669&100 C1C9010607&100 NH98992853&100 R13R455483&100 Q2F1305710&100 C48Y122858&100 D16F432848&100 OQ92484666&100 H1S5351512&100 TG30290333&100 UC72740444&100 B85G439151&100 LJ14528985&100 W2P2494711&100 YB67392466&100 C8J9223162&100 ZS46502380&100 P3D3379352&100 F1H6406112&100 F1H6406111&100 KL15410966&100 UC94912274&100 Q8F9086681&100 NN15035955&100 J9B9910714&100 Q7D6438088&100 KL10053493&100 R98Q011621&100 PJ79169862&100 W4D2206770&100 YJ41770140&100 DE87013442&100 S1D3647269&100 N11W266076&100 RY71022314&100 NM74324965&100 D66S125680&100 QX08357167&100 PW34192470&100 H0Q0656785&100 DB87703139&100 Q6A4843745&100 BF92813990&100 G3Q5527871&100 Q2B4440591&100 EK40906881&100 UP00455729&100 NK19194466&100 JZ09566683&100 U4K0925665&100 BP16919474&100 HL26038607&100 E0P2635279&100 EP02178809&100 EP48474427& 50 RT34693825&100 GU04240403&100 RY07833996& 50 WY29677864& 50 QB32426262&100 X52P944159& 50 QQ57601424&100 G3Q5527873&100 XN89985111'
- ll1 = ss1.split('countingInfo:100')
- ss2 = str(ll1[1])
- print(ss2)
- p = r'.{10}&'
- aa1 = re.findall(p,ss2)
- print(aa1)
- print('--------------------')
- for each in aa1:
- if each in a1:
- print(each)
复制代码
大概写了一个,两组之间的找重复。
存在多组的话可以把你说的冠子码和时间作拼接在一起作为唯一值放入空列表,最后列表内循环取冠子码那段去找重复项输出结果。
|
|