回答編集履歴

2

修正

2018/08/24 03:52

投稿

LouiS0616
LouiS0616

スコア35676

test CHANGED
@@ -1,4 +1,4 @@
1
- 良く誤解されていますが、
1
+ しばしば誤解されていますが、
2
2
 
3
3
  globの引数として用いることができるのは正規表現ではなく、**ワイルドカード**を含んだ文字列です。
4
4
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  filenames = []
16
16
 
17
- for filename in glob.glob('*'):
17
+ for filename in glob.iglob('*'):
18
18
 
19
19
  if 'b' in filename:
20
20
 
@@ -34,10 +34,14 @@
34
34
 
35
35
  filenames = [
36
36
 
37
- filename for filename in glob.glob('*')
37
+ filename for filename in glob.iglob('*')
38
38
 
39
39
  if 'b' not in filename and 'a' in filename
40
40
 
41
41
  ]
42
42
 
43
43
  ```
44
+
45
+
46
+
47
+ 省メモリの観点でglob.iglobを用いていますが、glob.globでも問題は無いです。

1

追記

2018/08/24 03:52

投稿

LouiS0616
LouiS0616

スコア35676

test CHANGED
@@ -1,3 +1,11 @@
1
+ 良く誤解されていますが、
2
+
3
+ globの引数として用いることができるのは正規表現ではなく、**ワイルドカード**を含んだ文字列です。
4
+
5
+
6
+
7
+ ---
8
+
1
9
  正規表現を持ち出さずとも、in演算子で帰属をチェックすれば済むように思います。
2
10
 
3
11
  未検証ですが、こんな感じで。