请教一个python批量打开文件的问题

  • 花菊
    文件夹里有若干word文档和若干pdf文档,想要用python同时打开这些文件。这个要怎么操作?请大佬帮忙看一下这段代码有什么问题。谢谢!
    import os
    from docx import Document
    from docx.shared import Cm
    import os.path
    import glob
    for filename in glob.glob('*.docx'):
    with os.startfile(os.path.join(os.getcwd(), filename), 'w') as f:
    text = f.read()
    print (filename)
    print (len(text))



    提示错误:OSError: [WinError 1155] 没有应用程序与此操作的指定文件有关联。: 'd:\\downloads\\1.docx'

    但是直接打开的话可以打开这个docx文件:os.startfile("d:\\downloads\\1.docx")
  • z
    zeroxia
    看你的意思,“打开”是在程序里打开读取。
    你用 os.startfile 只是模拟了你在资源管理器里“双击”打开的效果,也就是用系统关联的应用程序打开文件。估计不是你要的行为。
    而且你导入了 docx ,你不用用吗?
  • 花菊
    回复2#zeroxia


    感谢指导!需要的就是用系统默认的关联程序打开文件,比如用Microsoft Office打开.docx的文档,用Adobe Reader打开.pdf文档。
  • m
    modig
    with os.startfile(os.path.join(os.getcwd(), filename), 'r') as f:
  • 花菊
    回复4#modig


    这个还是提示with os.startfile (os.path.join(os.getcwd(), filename), 'r') as f: OSError: [WinError 1155] 没有应用程序与此操作的指定文件有关联。: 'd:\\downloads\\1.pdf'