python - 循环列表 - 'int' 对象不可下标
问题描述
我已经使用 PyPDF2 上传了一个 PDF。这是我的代码:
PageNo=list(range(0,pfr.numPages))
for i in PageNo:
pg = writer.addPage(i)
PageNo 创建一个所有页码的列表,我试图将列表中的每一页添加到一个新的 PDF 中,但是当我运行这个脚本时,我得到 'int' 对象不可下标。我知道这是我的 for 循环中的一个错误,我确信这很明显,但是对我上面的错误的任何见解将不胜感激。
谢谢!
编辑 - 这是解决方案:
for i in list(range(0,pfr.numPages))
pg = pfr.getPage(i)
writer.addPage(pg)
解决方案
没有看到更多代码,比如 pfr.numPages 到底是什么?它是在哪里创建的?它是如何使用的?发生错误是因为PageNo
被评估为int
,因此它不太可能是您的 for 循环中的错误,更有可能是您的列表中的错误。假设pfr.numPages
是某种类型的数组,试试这个:
for i in range(0, len(pfr.numPages)):
pg = writer.addPage(prf.numPages[i])
但是,如前所述,如果PageNo
被评估为 int,则 pfr.numPages 不是数组,也不是具有一个元素的数组。如果出现此错误,请密切注意跟踪,它会告诉您哪一行,如果它说 int 在带有 的行上不可下标prf.numPages
,那么您就知道您的问题比这个 for 循环更深。
推荐阅读
- python - 如何部署 Python 脚本及其依赖项(无 Internet 连接)?
- google-apps-script - 如何为在 Apps 脚本上运行的 G Suite 插件获取 OAuth 刷新令牌?
- c# - Raspberry PI 使用 C# 发出蜂鸣器声音
- rust - 如何提供一个 API 来存储不同类型的值,并可以在恢复原始类型的情况下返回它们?
- firebase - 为什么这个 AlertDialog 在 onPressed 时不起作用?
- javascript - 下载 csv 文件在 Safari 浏览器中不起作用
- c++ - 如何将 SQLite 数据库添加到 Qt 项目中的资源
- react-native - React Native Linking Listener?
- json - 面临在 Angular HttpClient 中访问 json() 的问题。寻找替代品
- javascript - Unexpected token "<" when importing from third party library into React project