Python错误:错误:[Errno 9]文件描述符错误

cwxwcias  于 2023-03-04  发布在  Python
关注(0)|答案(2)|浏览(270)

我想使用docx库转换docx文件。每次我运行它我得到这个错误

OSError: [Errno 9] Bad file descriptor

代码为:

from docx import Document

def bionify(path_to_text: str) -> None:
    doc = Document(path_to_text)
    new_doc = Document()
    all_paragraphs = doc.paragraphs
    for paragraph in all_paragraphs:
        word_list = paragraph.text.split(' ')
        new_paragraph = new_doc.add_paragraph()
        for word in word_list:
            i = 0
            while i < len(word):
                if i == 0 or i == 1:
                    new_paragraph.add_run(word[i]).bold = True
                else:
                    new_paragraph.add_run(word[i]).bold = False
                i += 1
            new_paragraph.add_run(' ')
    # Input the path to the document that you wish to save to:
    new_doc.save('sample_output.docx')

if __name__ == '__main__':
    # Input the path to the document containing your text file you wish to read from:
    bionify(r'C:\Users\###\Desktop\bionic python reader transformer\BionicTexterizer\sample_input.docx')

我已经改变了目标,python包,python版本来运行它。但是每次我得到OSError:* [Errno 9]文件描述符错误*
完整跟踪包:

Traceback (most recent call last):
  File "c:\Users\####\Desktop\bionic python reader transformer\BionicTexterizer\main.py", line 62, in <module>
    bionify(r'C:\Users\####\Desktop\bionic python reader transformer\BionicTexterizer\sample_input.docx')
  File "c:\Users\####\Desktop\bionic python reader transformer\BionicTexterizer\main.py", line 57, in bionify
    new_doc.save('sample_output.docx')
  File "C:\Python310\lib\site-packages\docx\document.py", line 135, in save
    self._part.save(path_or_stream)
  File "C:\Python310\lib\site-packages\docx\parts\document.py", line 111, in save
    self.package.save(path_or_stream)
  File "C:\Python310\lib\site-packages\docx\opc\package.py", line 172, in save
    PackageWriter.write(pkg_file, self.rels, self.parts)
  File "C:\Python310\lib\site-packages\docx\opc\pkgwriter.py", line 33, in write
    PackageWriter._write_content_types_stream(phys_writer, parts)
  File "C:\Python310\lib\site-packages\docx\opc\pkgwriter.py", line 45, in _write_content_types_stream
    phys_writer.write(CONTENT_TYPES_URI, cti.blob)
  File "C:\Python310\lib\site-packages\docx\opc\phys_pkg.py", line 155, in write
    self._zipf.writestr(pack_uri.membername, blob)
  File "C:\Python310\lib\zipfile.py", line 1810, in writestr
    with self.open(zinfo, mode='w') as dest:
  File "C:\Python310\lib\zipfile.py", line 1176, in close
    self._fileobj.seek(self._zinfo.header_offset)
OSError: [Errno 9] Bad file descriptor
Exception ignored in: <function ZipFile.__del__ at 0x0000022D9BF4BEB0>
Traceback (most recent call last):
  File "C:\Python310\lib\zipfile.py", line 1815, in __del__
    self.close()
  File "C:\Python310\lib\zipfile.py", line 1837, in close
    self._fpclose(fp)
  File "C:\Python310\lib\zipfile.py", line 1937, in _fpclose
    fp.close()
ne5o7dgx

ne5o7dgx1#

Windows 11。这是Windows 11的问题。我已经在Windows 10上运行了代码,没有任何问题。似乎有一些包权限问题。

68bkxrlz

68bkxrlz2#

我在Windows 11上,从Windows安全中关闭受控文件夹访问对我很有效。希望这对我有帮助!

相关问题