Python 如何在我的目录中的所有文件夹上运行子进程?

Python 如何在我的目录中的所有文件夹上运行子进程?,python,Python,我的每个文件夹中都有zip文件 >>> subprocess.run(["ls", "-l"]) total 60 drwxrwxr-x 2 milenko milenko 4096 јул 4 13:03 Chapter01 drwxrwxr-x 2 milenko milenko 4096 јул 4 13:03 Chapter02 drwxrwxr-x 2 milenko milenko 4096 јул 4 13:03 Chapter03 drwxrwxr-x 2

我的每个文件夹中都有zip文件

>>> subprocess.run(["ls", "-l"])
total 60
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter01
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter02
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter03
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter04
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter05
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter06
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter07
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter08
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter09
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter10
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter11
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter12
drwxrwxr-x 2 milenko milenko 4096 јул  4 13:03 Chapter13
-rw-rw-r-- 1 milenko milenko 1062 јул  4 13:03 LICENSE
-rw-rw-r-- 1 milenko milenko 2415 јул  4 13:03 README.md
CompletedProcess(args=['ls', '-l'], returncode=0)
我真正想要的是用一个子流程命令行解压它们,但我尝试的方法不起作用

subprocess.run(['unzip','/home/milenko/Building-Django-2.0-Web-Applications/'])
unzip:  cannot find or open /home/milenko/Building-Django-2.0-Web-Applications/, /home/milenko/Building-Django-2.0-Web-Applications/.zip or /home/milenko/Building-Django-2.0-Web-Applications/.ZIP.
CompletedProcess(args=['unzip', '/home/milenko/Building-Django-2.0-Web-Applications/'], returncode=9)

如何更改此选项?

在解压过程中,您没有提及默认为空的文件名 *.zip应该是你的工作

subprocess.run(['unzip','/home/milenko/Building-Django-2.0-Web-Applications/*.zip'])
您也可以参考以下内容:

将其转换为子流程

find . -name "*.zip" | xargs -P 5 -I fileName sh -c 'unzip -o -d "$(dirname "fileName")/$(basename -s .zip "fileName")" "fileName"'
这将提取文件并将其存储在同一目录中


您需要传递文件而不是目录