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()

  • 相关阅读:
    在Fedora 20下使用TexturePacker
    实战微信JS SDK开发:贺卡制作与播放(1)
    Fedora 20下安装Google PinYin输入法
    Netty5 时间服务器 有粘包问题
    Netty5入门学习笔记003-TCP粘包/拆包问题的解决之道(下)
    Netty5入门学习笔记002-TCP粘包/拆包问题的解决之道(上)
    11g Rac 添加日志组
    工作中的生长与完善——Leo鉴书86
    搜集直方图repeat和skewonly
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxError Exception
  • 原文地址:https://www.cnblogs.com/tszr/p/12029803.html
Copyright © 2011-2022 走看看