回答編集履歴

2

修正

2017/12/27 06:38

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -2,9 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- 少なくともdirsはそのようなリストになってるかと思います。
5
+ います。
6
6
 
7
+ 条件が`not x.endswith('.txt')`なので、**txt以外**のファイルあるいはディレクトリです。
8
+
9
+
10
+
7
- かし、[glob.glob](https://docs.python.jp/3/library/glob.html#glob.glob)を使うともっと簡単に書けます。
11
+ テキストファイルをすべて取得たいのなら、[glob.glob](https://docs.python.jp/3/library/glob.html#glob.glob)を使うと簡単に書けます。
8
12
 
9
13
  ```Python
10
14
 

1

修正

2017/12/27 06:38

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,3 +1,51 @@
1
+ > このコードは指定したディレクトリの、拡張子が.txtで終わるドキュメントをすべて取得していくコードであっていますか?
2
+
3
+
4
+
5
+ 少なくともdirsはそのようなリストになっているかと思います。
6
+
7
+ しかし、[glob.glob](https://docs.python.jp/3/library/glob.html#glob.glob)を使うともっと簡単に書けます。
8
+
9
+ ```Python
10
+
11
+ import glob
12
+
13
+ txt_files = glob.glob('./text/*.txt')
14
+
15
+ print(txt_files)
16
+
17
+ ```
18
+
19
+
20
+
21
+ ここで`*`はいわゆる**ワイルドカード**で、『この部分は何でもいいよ』といった意味です。
22
+
23
+
24
+
25
+ ---
26
+
27
+ > また、その場合C:\cygwin64\home\hoge\text内の複数のディレクトリに対して検索をかけてほしい場合、./textの部分をどのように変更すればよいですか?
28
+
29
+
30
+
31
+ 複数のディレクトリという表現が曖昧ですが、おそらく次で良いでしょう。
32
+
33
+ ```Python
34
+
35
+ import glob
36
+
37
+ txt_files = glob.glob('./text/*/*.txt')
38
+
39
+ print(txt_files)
40
+
41
+ ```
42
+
43
+
44
+
45
+ 修正前
46
+
47
+ ---
48
+
1
49
  ```Python
2
50
 
3
51
  for x in listdir(r'C:\cygwin64\home\hoge\text')