Python取代Rubys grep?

2024-04-16 10:38:17 发布

您现在位置:Python中文网/ 问答频道 /正文

abc=123
dabc=123
  abc=456
  dabc=789
    aabd=123

从上面的文件中,我需要找到以abc=开头的行(空白不重要)

在ruby中,我会把它放在一个数组中,然后

^{2}$

我在Python方面是个十足的傻瓜,甚至说我是一个新的Python开发人员也太过分了。在

也许有更好的“Python方法”来完成这个任务,甚至不需要重新处理?在

我需要解决问题的平台上的Python版本是2.6

那时还没有办法使用Ruby


Tags: 文件方法版本开发人员平台数组空白解决问题
2条回答
with open("myfile.txt") as myfile:
    matches = [line.rstrip() for line in myfile if line.lstrip().startswith("abc=")]

在Python中,您通常会使用一个列表理解,它的if子句可以完成Ruby的grep

import sys, re
matches = [line.strip() for line in sys.stdin
           if re.match(r'^\s*abc=.*', line)]

相关问题 更多 >