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

  • 相关阅读:
    SourceInsight3.5中文乱码问题解决
    执行脚本程序出现gzip:stdin:not in gzip format的解决方法
    libjpeg实现arm板上yuv420p转jpg
    yuv420p转jpg linux(纯C语言实现)
    linux下交叉编译libjpeg库并移植到开发板上
    关于arm板上ifup eth0出现问题的解决方法
    关于windows与ubuntu两台主机传输文件的一个小软件
    数据结构之查找算法篇
    利用paramiko将服务器的文件批量匹配并下载到本地
    最近写了中药系统药理学数据库与分析平台的爬虫,可以交流 https://tcmspw.com/index.php
  • 原文地址:https://www.cnblogs.com/tszr/p/12029803.html
Copyright © 2011-2022 走看看