吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1037|回复: 16
收起左侧

[求助] 求助各位python大佬,自己想了很多办法没解决

[复制链接]
baigei2333 发表于 2023-9-27 11:04
[('rule 37 name S07100275', ''), ('', 'service telnet'), ('', 'service tcp_20060'), ('rule 38 name S7100275-2', ''), ('', 'telnet'), ('', 'service tcp_20060'), ('rule 36 name cy_test', ''), ('', 'service http'), ('', 'service https')]

这是一个python元组,如何用python脚本得到下面的结果:
rule 17 name 20200325     
  service telnet   
rule 27 name 202321321
  service telnet

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

我今天是大佬 发表于 2023-9-27 11:08
[Python] 纯文本查看 复制代码
data = [('rule 37 name S07100275', ''), ('', 'service telnet'), ('', 'service tcp_20060'), ('rule 38 name S7100275-2', ''), ('', 'telnet'), ('', 'service tcp_20060'), ('rule 36 name cy_test', ''), ('', 'service http'), ('', 'service https')]

result = []
current_rule = None

for item in data:
    if item[0].startswith('rule'):
        current_rule = item[0]
    elif item[1].startswith('service telnet'):
        result.append((current_rule, item[1]))

for rule, service in result:
    print(f'{rule}\n  {service}')


cv搞定
 楼主| baigei2333 发表于 2023-9-27 11:11
本帖最后由 baigei2333 于 2023-9-27 11:14 编辑
我今天是大佬 发表于 2023-9-27 11:08
[mw_shl_code=python,true]
data = [('rule 37 name S07100275', ''), ('', 'service telnet'), ('', 'ser ...

非常感谢大佬。。刚刚发现有个地方漏了
 楼主| baigei2333 发表于 2023-9-27 11:15
我今天是大佬 发表于 2023-9-27 11:08
[mw_shl_code=python,true]
data = [('rule 37 name S07100275', ''), ('', 'service telnet'), ('', 'ser ...

想请教一下cv是啥的?
我今天是大佬 发表于 2023-9-27 11:15
baigei2333 发表于 2023-9-27 11:15
想请教一下cv是啥的?

复制粘贴
liuganglove2018 发表于 2023-9-27 11:27
这种文本不多的情况,用文本文档,查找替换就可以完成了。
 楼主| baigei2333 发表于 2023-9-27 11:27

额,好吧 感谢大佬
5en 发表于 2023-9-27 11:27
\$\$\$\$\$\$
罗萨 发表于 2023-9-27 11:42
[Python] 纯文本查看 复制代码
lst = [('rule 37 name S07100275', ''), ('', 'service telnet'), ('', 'service tcp_20060'), ('rule 38 name S7100275-2', ''), ('', 'telnet'), ('', 'service tcp_20060'), ('rule 36 name cy_test', ''), ('', 'service http'), ('', 'service https')]

result = []

for i in range(0, len(lst), 3):
    rule_name = ''
    service_name = ''

    if 'name' in lst[i][0]:
        rule_name = lst[i][0]
    else:
        service_name = lst[i][1]

    if 'name' in lst[i+1][0]:
        rule_name = lst[i+1][0]
    else:
        service_name = lst[i+1][1]

    if 'name' in lst[i+2][0]:
        rule_name = lst[i+2][0]
    else:
        service_name = lst[i+2][1]

    if rule_name != '' and service_name != '':
        result.append(rule_name + '\n  ' + service_name)

print('\n'.join(result))




输出结果:
rule 37 name S07100275
  service telnet
rule 38 name S7100275-2
  telnet
rule 36 name cy_test
  service http
greendays 发表于 2023-9-27 11:55
看不懂,你这数据源跟结果是对应的吗。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表