回答編集履歴
1
コード追記
answer
CHANGED
@@ -1,1 +1,11 @@
|
|
1
|
-
`make_archive()`がスレッドセーフでないのが原因。
|
1
|
+
`make_archive()`がスレッドセーフでないのが原因。
|
2
|
+
代わりに、`subprocess.run()`内で`cd`, `zip`コマンドを呼び出すことで解決。
|
3
|
+
|
4
|
+
```Python
|
5
|
+
def zip_and_remove_dir(path: pathlib.Path) -> None:
|
6
|
+
command = f"cd {str(path.parent)!r} && " \
|
7
|
+
f"zip -r {str(path.name) + '.zip'!r} {path.name!r}"
|
8
|
+
subprocess.run(command, shell=True, stdout=null)
|
9
|
+
|
10
|
+
shutil.rmtree(path)
|
11
|
+
```
|