吴裕雄--天生自然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("这是测试第一行\n这是测试第二行\n")
range1.InsertAfter("这是测试第三行\n这是测试第四行\n")
range1.InsertBefore("第一次插入到文件最前方\n")
range1.InsertBefore("再次插入到文件最前方\n")
# 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("这是测试第一行\n这是测试第二行\n")
range1.InsertAfter("这是测试第三行\n这是测试第四行\n")
range1.InsertBefore("第一次插入到文件最前方\n")
range1.InsertBefore("再次插入到文件最前方\n")
# 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("这是测试第一行\n这是测试第二行\n")
range1.InsertAfter("这是测试第三行\n这是测试第四行\n")
range1.InsertBefore("第一次插入到文件最前方\n")
range1.InsertBefore("再次插入到文件最前方\n")
# 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()

吴裕雄--天生自然python学习笔记:打开文件并显示文件内容的更多相关文章
- 吴裕雄--天生自然python学习笔记:python 文件批量查找
在多个文本文件中查找 我们首先来学习文本文件的查找字符 . 我们通过 os.walk 扩大查找范围, 查找指定目录和子目录下的文件. 应用程序总览 读取 当 前目录及子目录下的所有 PY 和 txt ...
- 吴裕雄--天生自然python学习笔记:python用 Selenium 组件实现浏览器操作自动化
一般情况下,我们都是用手工操作的方式来对浏览器进行各种操作 . 实际上, 只要我们安装一个自动化操作组件, Python 就可以让我们的很多操作实现自动化 . Selenium 组件 在开发网页时,用 ...
- 吴裕雄--天生自然python学习笔记:Python3 XML 解析
什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XML 被设计用来传输和存 ...
- 吴裕雄--天生自然python学习笔记:Python CGI编程
什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户 ...
- 吴裕雄--天生自然python学习笔记:Python3 File(文件) 方法
open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() ...
- 吴裕雄--天生自然python学习笔记:Python3 输入和输出
输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数. 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用. 如果你希望输出的 ...
- 吴裕雄--天生自然python学习笔记:python 文件批量处理
Python 在文件处理方面表现突出,关于文件的处理 也是很多人经常用到的功能. 对 Python 的文件处理的技巧进行综合应用,比如把大量文件 的复制.按指定的文件名进行保存.找出重复的照片.将 所 ...
- 吴裕雄--天生自然python学习笔记:python文档操作批量替换 Word 文件中的文字
我们经常会遇到在不同的 Word 文件中的需要做相同的文字替换,若是一个一个 文件操作,会花费大量时间 . 本节案例可以找出指定目录中的所有 Word 文件(包含 子目录),并对每一个文件进行指定的文 ...
- 吴裕雄--天生自然python学习笔记:python处理word文档
Office 文件是我们日常工作生活中都经常用到的文件格 式,其中以 Word 格式的文件最为常用 . Python 可通过 Win32com 纽件对 Micro so位 Office 文件 进行存取 ...
随机推荐
- webservice wsdl文件标签讲解
<?xml version="1.0" encoding="utf8"?> <wsdl:definitions targetNamespace ...
- 201703-1 分蛋糕 Java
思路: 注意最后如果剩余蛋糕的重量小于k,也算一个人分到 import java.util.Scanner; public class Main { public static void main(S ...
- docker_jenkins
docker search jenkins docker pull jenkins 启动脚本 #!/bin/bash docker run -d --name myjenkins \ -u root ...
- Java--二维码生成&图片和流转化
package test; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java. ...
- nginx常用编译参数
./configurate --prefix=/app/tengine --user=www --group=www --with-http_v2_module --with-http_ssl_mod ...
- Python说文解字_main
1. main函数: 我们知道很多的编程语言都要写一个main函数,比如在C# 中Main函数还需要大写.很多人疑惑为什么要写这么一个Main函数.其实这就是好比我们在建了一排房子,你从哪个门都可以进 ...
- ServiceComb 集成 Shiro 实践|火影专场发布
Shiro简介 Apache Shiro是一款功能强大.易用的轻量级开源Java安全框架,它主要提供认证.鉴权.加密和会话管理等功能.Spring Security可能是业界用的最广泛的安全框架,但是 ...
- MobX 在 hook 中的使用
关于 mobX 在 react 16.8.0 以上的用法 以下例子均取自官网文档 一般用法: import { observer, useLocalStore } from 'mobx-react'; ...
- 201604-2 俄罗斯方块 Java
大家谁能帮我看看是哪里不对,提交到系统中是0分,在Eclipse中可以得出例子中的结果 思路: 题目中有两个关键点:如何模拟下落的过程,如何判断方块下落在哪里停止. 在数据的存储上,需要保存整个&qu ...
- Struts 2的流程
Struts 2的流程 一.Struts 2 的开发步骤: 在web.xml中定义核心的Filter来拦截用户的请求. 由于Web应用时基于请求/响应架构的应用,所以不管哪个MVC Web框架,都需要 ...