吴裕雄--天生自然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()

原文地址:https://www.cnblogs.com/tszr/p/12029803.html