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

上記のファイルから、abc =で始まる行を見つける必要があります(空白は関係ありません)

ルビーでは、これを配列に入れて実行します

matches = input.grep(/^\s*abc=.*/).map(&:strip)

私はPythonの初心者ですが、Pythonの初心者であると言っても多すぎます。

たぶん、grepすることさえせずにこれを行うためのより良い「Pythonの方法」がありますか?

問題を解決する必要があるプラットフォームで利用できるPythonのバージョンは2.6です

当時はRubyの使い方はありません

4

2 に答える 2

5
with open("myfile.txt") as myfile:
    matches = [line.rstrip() for line in myfile if line.lstrip().startswith("abc=")]
于 2012-09-16T22:01:54.603 に答える
1

Python では通常if、Ruby のgrep.

import sys, re
matches = [line.strip() for line in sys.stdin
           if re.match(r'^\s*abc=.*', line)]
于 2012-09-16T22:02:31.563 に答える