1

フィルターとマップ機能を使用して、.txtまたはPythonで終わるディレクトリ内のファイルを検索するにはどうすればよいですか?.py

4

4 に答える 4

5

os.listdirファイルのリストが表示されます。True次に、ファイル名が or で終わるときに.py戻る関数を書くだけです.txt:

filter(lambda x: x.endswith(('.txt','.py')), os.listdir(os.curdir))

…どうやって組み込めばいいのかわからないmap

于 2012-11-28T05:20:52.893 に答える
2

次の 2 つの方法があります。

純粋な機能的アプローチ:

from operator import methodcaller
filter(methodcaller('endswith', ('.txt', '.py')), os.listdir('.'))

リスト理解アプローチ:

[fn for fn in os.listdir('.') if fn.endswith(('.txt', '.py'))]

お役に立てれば :-)

于 2012-11-28T06:55:50.343 に答える
0

glob モジュールを使用してこれらのファイルを取得できます

>>> import glob    
>>> glob.glob('*.py')
['test.py', 'a.py', 'b.py']
于 2012-11-28T06:00:40.003 に答える