回答編集履歴
1
追記
answer
CHANGED
@@ -16,4 +16,35 @@
|
|
16
16
|
files = glob.glob(os.path.join(cur_dir, f, r"*.jpg"))
|
17
17
|
with open(os.path.join(cur_dir, f, f"{f}.pdf"), "wb") as f1:
|
18
18
|
f1.write(img2pdf.convert([file for file in files]))
|
19
|
+
```
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
### 追記 フォルダ内にある更なる階層のフォルダを対象にする方法について
|
24
|
+
一見複雑そうに見えますが、先日回答した処理を、更にフォルダ内でも行っているだけです。
|
25
|
+
以下では更にもう1階層分のフォルダを探して~という風にコードを書きましたが
|
26
|
+
この先あと何階層フォルダがあるのかわからないといった場合にはwhile文を書いて
|
27
|
+
指定したフォルダ内に更にフォルダがあるか・ないかを判定すれば良いでしょう。
|
28
|
+
|
29
|
+
```
|
30
|
+
import img2pdf
|
31
|
+
import os
|
32
|
+
import glob
|
33
|
+
|
34
|
+
cur_dir = os.getcwd() # カレントディレクトリ取得
|
35
|
+
dirs = os.listdir(cur_dir) # 指定ディレクトリ内に存在するファイル、フォルダをリスト化
|
36
|
+
|
37
|
+
for f in dirs:
|
38
|
+
# 対象がフォルダである場合にTrueが返り、if文内が実行される
|
39
|
+
if os.path.isdir(os.path.join(cur_dir, f)):
|
40
|
+
for sf in os.listdir(os.path.join(cur_dir,f)):
|
41
|
+
if os.path.isdir(os.path.join(cur_dir, f, sf)):
|
42
|
+
files = glob.glob(os.path.join(cur_dir, f, sf, r"*.jpg"))
|
43
|
+
with open(os.path.join(cur_dir, f, sf, f"{sf}.pdf"), "wb") as f1:
|
44
|
+
f1.write(img2pdf.convert([file for file in files]))
|
45
|
+
|
46
|
+
files = glob.glob(os.path.join(cur_dir, f, r"*.jpg"))
|
47
|
+
with open(os.path.join(cur_dir, f, f"{f}.pdf"), "wb") as f1:
|
48
|
+
f1.write(img2pdf.convert([file for file in files]))
|
49
|
+
|
19
50
|
```
|