【问题标题】:python. TypeError when extracting rar files: 'NoneType' object is not iterablePython。提取 rar 文件时出现类型错误:“NoneType”对象不可迭代
【发布时间】:2021-11-26 05:23:26
【问题描述】:

我正在尝试使用 python 库 rarfile.RarFile(在 Windows 上)提取 rar 文件, 但它一直在给我

TypeError: 'NoneType' 对象不可迭代

import rarfile
rarfile=r"E:\rarFiles\CH6ED-(09_14_2021 Tue-10_10_33.99).rar"

with rarfile.RarFile(rarfile) as file:
   file.extractall(path="directory",pwd="password")

谁能帮我摆脱这个错误?


我把代码改成了这个

import rarfile

with rarfile.RarFile(r"E:\rarFiles\CH6ED-(09_14_2021 Tue-10_10_33.99).rar") as file:
   file.extractall(path="C:\Users\Joanna\Desktop",pwd="123")

但我给了我同样的错误

【问题讨论】:

  • 使用其他变量名作为路径,因为您有一个名为 rarfile 的库
  • 我更改了我的代码,但它给了我同样的错误
  • 这真的是您的代码的全部吗?当我尝试 pip install rarfile 并粘贴到你的 3 行时,我得到了 rarfile.RarCannotExec: Cannot find working tool (似乎与 stackoverflow.com/a/43527756/114900 有关)。

标签: python rar


【解决方案1】:

当您执行rarfile=r"E:\folder\myrarfile" 时,您将覆盖与您导入的模块关联的名称rarfile,现在指向字符串对象r"E:\folder\myrarfile"。您必须将保存.rar 文件路径的变量命名为其他名称。作为一般建议,不要将变量命名为与导入相同的名称。

【讨论】:

  • 我更改了我的代码,但它给了我同样的错误。我更新了我的问题
【解决方案2】:

试试

rarfile.RarFile(
r"E:\rarFiles\CH6ED-(09_14_2021 Tue-10_10_33.99).rar"
).extractall(path="C:\Users\Joanna\Desktop",pwd="123")

【讨论】:

  • 还是报错:(
  • 您确定路径正确吗?将文件复制到运行脚本的同一文件夹中,并将其重命名为不带下划线和破折号的名称。
  • 你也可以试试PathLib
猜你喜欢
  • 2021-01-23
  • 2014-10-09
  • 1970-01-01
  • 2020-03-09
  • 1970-01-01
  • 2011-12-13
  • 2016-09-11
  • 2013-06-03
  • 2018-06-25
相关资源
最近更新 更多