Python中文
首页
教程
问答
标签
搜索
登录
注册
消除重复行并写入文件
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>file1.txt包含以下行:</p> <pre><code>[SUM] 0.00-34.53 sec 2.11 GBytes 524 Mbits/sec sender [SUM] 0.00-34.53 sec 2.11 GBytes 524 Mbits/sec sender [SUM] 0.00-34.62 sec 2.36 GBytes 586 Mbits/sec sender [SUM] 0.00-34.62 sec 2.36 GBytes 586 Mbits/sec sender [SUM] 0.00-34.75 sec 2.39 GBytes 591 Mbits/sec receiver [SUM] 0.00-34.75 sec 2.39 GBytes 591 Mbits/sec receiver [0] 0.00-34.53 sec 0.00 Bytes 0.00 bits/sec receiver [0] 0.00-34.75 sec 0.00 Bytes 0.00 bits/sec sender </code></pre> <p>将以[SUM]开头、以sender和receiver结尾的行打印到另一个文本文件-file2.txt中</p> <p>代码如下:</p> <pre><code>with open(r"C:\Users\file1.txt", 'r') as f: contents = f.read() s=contents def my_function1(): regex = "^\s*\[SUM\]\s*[0-9\-\.]+\s+sec(?!\s+0\.00 Bytes).*sender.*" items=re.findall(regex,s,re.MULTILINE) for y in items: file=open('file2.txt', "a") file.write(str(y)) file.write("\n") file.close() def my_function2(): regex = "^\s*\[SUM\]\s*[0-9\-\.]+\s+sec(?!\s+0\.00 Bytes).*receiver.*" items=re.findall(regex,s,re.MULTILINE) for y in items: file=open('file2.txt', "a") file.write(str(y)) file.write("\n") file.close() #print(y) my_function1() my_function2() </code></pre> <p>将输出写入file2.txt,如下所示:</p> <pre><code>[SUM] 0.00-34.53 sec 2.11 GBytes 524 Mbits/sec sender [SUM] 0.00-34.53 sec 2.11 GBytes 524 Mbits/sec sender [SUM] 0.00-34.62 sec 2.36 GBytes 586 Mbits/sec sender [SUM] 0.00-34.62 sec 2.36 GBytes 586 Mbits/sec sender [SUM] 0.00-34.62 sec 2.36 GBytes 586 Mbits/sec sender [SUM] 0.00-34.75 sec 2.39 GBytes 591 Mbits/sec receiver [SUM] 0.00-34.75 sec 2.39 GBytes 591 Mbits/sec receiver </code></pre> <p>应为:仅打印一次</p> <pre><code>[SUM] 0.00-34.53 sec 2.11 GBytes 524 Mbits/sec sender [SUM] 0.00-34.62 sec 2.36 GBytes 586 Mbits/sec sender [SUM] 0.00-34.75 sec 2.39 GBytes 591 Mbits/sec receiver </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果要获得唯一列表,只需添加: <code>list(set(items))</code> 在写入文件之前</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
7 回答
无法使用Django\u mssql\u后端迁移到外部hos
3 回答
无法使用Django&Python3.4连接到MySql
2 回答
无法使用Django+nginx上载媒体文件
2 回答
无法使用Django1.6导入名称模式
5 回答
无法使用Django1.7和mongodb登录管理站点
1 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
8 回答
无法使用Djangockedi验证CBV中的字段
5 回答
无法使用Djangocketditor上载图像(错误400)
2 回答
无法使用Djangocron进行函数调用
8 回答
无法使用Djangofiler djang上载文件
4 回答
无法使用Djangokronos
1 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
5 回答
无法使用Djangomssq迁移Django数据库
5 回答
无法使用Djangonox创建用户
7 回答
无法使用Djangopyodb从Django查询SQL Server
6 回答
无法使用Djangopython3ldap连接到ldap
2 回答
无法使用Djangoredis连接到redis
2 回答
无法使用Django中的FK创建新表
7 回答