Python调用7z解压时出现FileNotFoundError错误的解决方法
修复
FileNotFoundError: [Errno 2] No such file or directory: '7z'的方法 这个错误的核心是系统找不到7z可执行文件,可通过以下几种方式解决:
1. 直接指定7z的完整路径
如果7z没加入系统环境变量,只写7z系统没法定位到它,你需要替换成7z安装路径下的可执行文件绝对地址:
- Windows下通常路径是
C:\Program Files\7-Zip\7z.exe - Linux/macOS下可能是
/usr/bin/7z或/usr/local/bin/7z
修改后的代码示例:
import subprocess import os # Windows环境用这个路径 subprocess.call(["C:\\Program Files\\7-Zip\\7z.exe", "e", "Data/test/Robert_Hilder_history.txt.7z"], stdout=open(os.devnull, 'wb')) # Linux/macOS环境用这个路径(注释掉上面,打开下面) # subprocess.call(["/usr/bin/7z", "e", "Data/test/Robert_Hilder_history.txt.7z"], stdout=open(os.devnull, 'wb'))
2. 把7z加入系统环境变量
把7z所在的目录添加到系统PATH变量里,这样全局都能直接调用7z:
- Windows:找到7-Zip安装目录,右键「此电脑」→属性→高级系统设置→环境变量,在系统变量的PATH中添加该目录,之后重启终端或IDE生效。
- Linux/macOS:在
~/.bashrc或~/.zshrc文件中添加export PATH=$PATH:/你的7z安装目录,执行source ~/.bashrc(对应你的shell配置文件)让改动生效。
3. 确认7z已正确安装
如果还没装7-Zip,先完成安装:
- Windows:下载7-Zip官方安装包完成安装。
- Linux:Ubuntu/Debian用
sudo apt install p7zip-full,CentOS/RHEL用sudo yum install p7zip。 - macOS:用Homebrew执行
brew install p7zip安装。
内容的提问来源于stack exchange,提问作者Houhouhia
相关产品推荐
相关产品推荐

