Python中文
首页
教程
问答
标签
搜索
登录
注册
python中的grep
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我习惯于在<code>bash</code>中编写脚本,但我也在学习<code>python</code>。 因此,作为一种学习方式,我正在尝试修改python中的一些旧bash。比如说,我有一个文件,行如下:</p> <pre><code>TOTDOS= 0.38384E+02n_Ef= 0.81961E+02 Ebnd 0.86883E+01 </code></pre> <p>要在bash中获得<code>TOTDOS</code>的值,我只需执行以下操作:</p> <pre><code>grep "TOTDOS=" 630/out-Dy-eos2|head -c 19|tail -c 11 </code></pre> <p>但是通过python,我在做:</p> <pre><code>#!/usr/bin/python3 import re import os.path import sys f1 = open("630/out-Dy-eos2", "r") re1 = r'TOTDOS=\s*(.*)n_Ef=\s*(.*)\sEbnd' for line in f1: match1 = re.search(re1, line) if match1: TD = (match1.group(1)) f1.close() print(TD) </code></pre> <p>这无疑给出了正确的结果,但似乎远不止bash(更不用说<code>regex</code>的问题了)。你知道吗</p> <p>问题是,我是在python中工作过度,还是缺少了一些东西?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>与bash行匹配的python脚本更像这样:</p> <pre><code>with open('630/out-Dy-eos2', 'r') as f1: for line in f1: if "TOTDOS=" in line: print line[8:19] </code></pre> <p>现在看起来好多了。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何实现一个类,该类在每次更改其属性时更改其“last_edited”变量?
5 回答
如何实现一个类?
5 回答
如何实现一个类的属性设置?
2 回答
如何实现一个能够存储输入并反复访问输入的存储系统?GPA计算器
1 回答
如何实现一个自定义的keras层,它只保留前n个值,其余的都归零?
4 回答
如何实现一个行为类似于Python中序列的最小类?
6 回答
如何实现一个请求的多线程或多处理
10 回答
如何实现一个长时间运行的、事件驱动的python程序?
3 回答
如何实现一个颜色一致的非舔深度地图实时?
7 回答
如何实现一个默认的SQLAlchemy模型类,它包含用于继承的公共CRUD方法?
8 回答
如何实现一次热编码的生成函数
3 回答
如何实现一种在数组中删除对的方法
6 回答
如何实现一类支持向量机用于图像异常检测
3 回答
如何实现一维阵列到二维阵列的复制转换
1 回答
如何实现三维三次样条插值?
3 回答
如何实现三维数据的连接组件标签?
7 回答
如何实现三角形的空间索引
9 回答
如何实现不同模块中对象之间的交互
2 回答
如何实现不同版本的库共存?
2 回答
如何实现不同的班权重
5 回答