zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然python学习笔记:打开文件并显示文件内容

    Win32com 组件打开文件通过 Documents 的 Open 方法,语法为 :

    例如,打开上一节创建的 testl . docx 文件 , 文件变量名为 doc:

    获得文件内容的方法有两种,第一种较为简单,用 文件变量的 Content 方法即可
    获取全部内容,语法为 :

     

    import os
    from win32com import client
    
    word = client.gencache.EnsureDispatch('Word.Application')
    word.Visible = 1
    word.DisplayAlerts = 0
    doc = word.Documents.Add()
    range1 = doc.Range(0,0)  #文件起始处
    range1.InsertAfter("这是测试第一行
    这是测试第二行
    ")
    range1.InsertAfter("这是测试第三行
    这是测试第四行
    ")
    range1.InsertBefore("第一次插入到文件最前方
    ")
    range1.InsertBefore("再次插入到文件最前方
    ")
    # cpath = os.path.dirname(__file__)
    doc.SaveAs("E:\media\test1.docx")
    # doc.Close()
    # word.Quit()
    import os
    from win32com import client
    
    word = client.gencache.EnsureDispatch('Word.Application')
    word.Visible = 0
    word.DisplayAlerts = 0
    # cpath=os.path.dirname(__file__)
    doc = word.Documents.Open("E:\media\test1.docx")
    print(doc.Content)
    doc.Close()
    word.Quit()

    import os
    from win32com import client
    
    word = client.gencache.EnsureDispatch('Word.Application')
    word.Visible = 1
    word.DisplayAlerts = 0
    doc = word.Documents.Add()
    range1 = doc.Range(0,0)  #文件起始处
    range1.InsertAfter("这是测试第一行
    这是测试第二行
    ")
    range1.InsertAfter("这是测试第三行
    这是测试第四行
    ")
    range1.InsertBefore("第一次插入到文件最前方
    ")
    range1.InsertBefore("再次插入到文件最前方
    ")
    # cpath = os.path.dirname(__file__)
    doc.SaveAs("E:\media\test1.docx")
    # doc.Close()
    # word.Quit()
    
    
    import os
    from win32com import client
    
    word = client.gencache.EnsureDispatch('Word.Application')
    word.Visible = 0
    word.DisplayAlerts = 0
    # cpath=os.path.dirname(__file__)
    doc = word.Documents.Open("E:\media\test1.docx")
    paragraphs = doc.Paragraphs
    for p in paragraphs:
        text = p.Range.Text.strip()
        print(text)
    doc.Close()
    word.Quit()

    、. Range . Text ”实现段落内容的读取,其中的 s trip () 方法用于
    实现换行符的删除
    通过这种方法可以读取任意段落的内容,所以可根据需求来显示文件的部分内
    容。读取其中一个段落内容的语法为:

    注意 n 的值是由 1 开始,即 1 表示第一段, 2 表示第二段,依此类推 。 例如下面
    程序会显示第一段及第三段的内容:

    import os
    from win32com import client
    
    word = client.gencache.EnsureDispatch('Word.Application')
    word.Visible = 1
    word.DisplayAlerts = 0
    doc = word.Documents.Add()
    range1 = doc.Range(0,0)  #文件起始处
    range1.InsertAfter("这是测试第一行
    这是测试第二行
    ")
    range1.InsertAfter("这是测试第三行
    这是测试第四行
    ")
    range1.InsertBefore("第一次插入到文件最前方
    ")
    range1.InsertBefore("再次插入到文件最前方
    ")
    # cpath = os.path.dirname(__file__)
    doc.SaveAs("E:\media\test1.docx")
    # doc.Close()
    # word.Quit()
    
    word = client.gencache.EnsureDispatch('Word.Application')
    word.Visible = 0
    word.DisplayAlerts = 0
    # cpath=os.path.dirname(__file__)
    doc = word.Documents.Open("E:\media\test1.docx")
    paragraphs = doc.Paragraphs
    print("第一段:" + paragraphs(1).Range.Text.strip())
    print("第三段:" + paragraphs(3).Range.Text.strip())
    doc.Close()
    word.Quit()

  • 相关阅读:
    微信小程序实现课程表实例
    探索Java中的网络编程技术
    Java中的Spring MVC简介笔记
    我没有想赢,我只是不想输
    下次路过,人间再无我。
    从零基础入门MySQL数据库基础课
    vue.js-详解三大流行框架VUE_快速进阶前端大咖-Vue基础
    学习网站/实用工具,收藏的快搜网站,想找什么都有!!!
    【灵魂拷问】你真的懂得Mysql的管理和使用吗?
    【领会要领】web前端-轻量级框架应用(jQuery基础)
  • 原文地址:https://www.cnblogs.com/tszr/p/12029803.html
Copyright © 2011-2022 走看看