【问题标题】:IO Error [Errno 2]IO 错误 [Errno 2]
【发布时间】:2013-06-05 19:28:12
【问题描述】:

所以我是一个初级程序员,python 是我的第一语言。我正在尝试编写一个脚本,该脚本将从目录中打开一个随机 PDF,并从该 PDF 中选择一个随机页面进行阅读。当我运行我的脚本时,我收到错误代码 IO ERROR: [Errno 2],然后显示所选 PDF 的标题。我怎样才能解决这个问题?我正在使用 pyPdf 模块。您可以看到代码中还有其他问题吗?

    import os, random, pyPdf

    from pyPdf import PdfFileReader

    b = random.choice(os.listdir("/home/illtic/PDF"))

    pdf_toread = pyPdf.PdfFileReader(open(b, 'r'))

    last_page = pdf_toread.getNumPages() - 1

    page_one = pdf_toread.getPage(random.randint(0, last_page))

    print " %d " % page_one

【问题讨论】:

  • 你使用的是pyPDF还是pyPDF2?

标签: python pdf random printing


【解决方案1】:

b 有什么价值?我很确定它只是没有路径的文件名。尝试在文件名前加上路径,应该没问题。

pdf_toread = pyPdf.PdfFileReader(open('/home/illtic/PDF/' + b, 'r'))

【讨论】:

  • errno 2 是“没有这样的文件或目录”,它符合解决问题的答案
  • 同样的事情。 Traceback(最近一次调用最后一次):文件“RandomPDF.py”,第 6 行,在 中 pdf_toread = pyPdf.PdfFileReader(open('home/illtic/PDF' + b, 'r')) IOError: [Errno 2] 没有这样的文件或目录:'home/illtic/PDFSpinoza, Benedict de - The Ethics 2. Of the Nature and Origin of the Mind.pdf'
  • 我认为您现在在/PDF 之后缺少一个斜杠
  • 谢谢大家,这是路径和正斜杠。现在我唯一的难题是如何以文本格式显示内容? {'/Parent': IndirectObject(80, 0), '/Contents': IndirectObject(48, 0), '/Resources': IndirectObject(47, 0), '/Rotate': 0, '/CropBox ': [0, 0, 612, 792], '/MediaBox': [0, 0, 612, 792], '/Type': '/Page'}
猜你喜欢
  • 2019-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
  • 2021-12-14
  • 1970-01-01
  • 2019-03-25
  • 2014-01-04
相关资源
最近更新 更多