想要利用Python来操作word文档可以使用docx模块.

安装: pip install python-docx

from docx import Document
from docx.shared import Inches
 
string = '文字内容'
images = '1.jpg' # 保存在本地的图片
doc = Document() # doc对象
doc.add_paragraph(string) # 添加文字
doc.add_picture(images, width=Inches(2))  # 添加图, 设置宽度
doc.save('word文档.docx')  # 保存路径

执行结果: 本地生成了一个Word文档, 打开之后.

但是有时添加图片会产生识别异常:

这是因为图片的格式问题, 对比一下 0.jpg 和 1.jpg的二进制数据, 添加0.jpg会异常, 1.jpg则不会.

解决的方法:

图片格式转换

from docx import Document
from docx.shared import Inches
from PIL import Image
 
string = '文字内容'
images = '0.jpg' # 保存在本地的图片
doc = Document()
doc.add_paragraph(string) # 添加文字
 
try:
 doc.add_picture(images, width=Inches(2))  # 添加图, 设置宽度
except Exception:
 jpg_ima = Image.open(images) # 打开图片
 jpg_ima.save('0.jpg')   # 保存新的图片
 doc.add_picture(images, width=Inches(2))  # 添加图, 设置宽度
 
doc.save('word文档.docx')  # 保存路径

结果就和前面一样了:

以上就是python如何在word中存储本地图片的详细内容,更多关于python本地图片存储Word的资料请关注程序员的世界其它相关文章!

python如何在word中存储本地图片的更多相关文章

  1. python asyncio 协程库的使用

    asyncio 是 python 力推多年的携程库,与其 线程库 相得益彰,更轻量,并且协程可以访问同一进程中的变量,不需要进程间通信来传递数据,所以使用起来非常顺手。asyncio 官方文档写的非常简练和有效,半小时内可以学习和测试完,下面为我的一段 HelloWrold,感觉可以更快速的帮你认识......

  2. pytest进阶之fixture函数

    fixture函数存在意义与python自带的unitest测试框架中的setup、teardown类似,pytest提供了fixture函数用以在测试执行前和执行后进行必要的准备和清理工作。但是相对来说又比setup、teardown好用。firture相对于setup和teardown的优势命名......

  3. 如何利用python和DOS获取wifi密码

    CMD命令获取电脑里配置过的wifi信息设定一个场景,假如我忘记了自家的wifi密码,这时候小伙伴来家里跟我开黑,问我wifi密码是多少?我就抓住了这个小秀一波的机会。上才艺:按下win+R键,输入CMD打开DOS窗口,然后输入以下命令查看电脑里配置过的wifi。netsh wlan show pr......

  4. Python3使用tesserocr识别字母数字验证码的实现

    一、背景最近有个需求是从一个后台的留言网站爬取留言数据,后台管理网站必然涉及到了登录,登录就有个验证码的问题必须得解决,由于验证码是从后端生成的,并且不了解其生成规则,那就只能通过图像识别技术来做验证码识别了!通过查阅资料发现Python中的的tesserocr这个库好像使用的比较多,所以对这个库进......

  5. Python获取上一个月的天数

    [Python]代码#简单小程序from datetime import datetimeimport calendardef getMonths():d = datetime.now()c = calendar.Calendar()year = d.yearmonth = d.monthif mo......

  6. 将不规则的Python多维数组拉平到一维的方法实现

    原始需求:例如有一个列表:l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]希望把它转换成下面这种形式:[1, 2, 3, 4, 5, 6, 7, 8, 9]其实这个非常简单,我将分享三个一行式代码来解决这个问题。但如果是下面这种不规则的多维列表:l = [[1, 2], [......

  7. Python学习(2) (代码运行的常见错误、python解释器、注释方法、算数运算符)

    Python学习(2)一、python代码运行的常见错误二、python解释器三、python注释方法1.注释的作用2.单行注释(行注释)3.多行注释(块注释)四、python的算数运算符1.算数运算符2.算数运算符的优先级一、python代码运行的常见错误1.手误。例如:pirnt(“hi wor......

  8. pandas快速处理Excel,替换Nan,转字典的操作

    pandas读取Excelimport pandas as pd# 参数1:文件路径,参数2:sheet名pf = pd.read_excel(path, sheet_name='sheet1')删除指定列# 通过列名删除指定列pf.drop(['序号', '替代', '签名'], axis=1, ......

  9. 10步写了个Django网站

    Django做网站只要10步,真的只有10步,不信?咱们来数数……今天主要讲解用Pycharm编辑器搭建网站,网站功能是 实现在局域网中快速传递大文件! 比如:同事要给你个1G的文件,你丢一个网站链接给他。他上传后,文件就在你电脑啦!演示效果如下动图:从电脑F磁盘通过浏览器上传,在D盘出现文件,这里......

  10. Pytorch数据读取与预处理该如何实现

    在炼丹时,数据的读取与预处理是关键一步。不同的模型所需要的数据以及预处理方式各不相同,如果每个轮子都我们自己写的话,是很浪费时间和精力的。Pytorch帮我们实现了方便的数据读取与预处理方法,下面记录两个DEMO,便于加快以后的代码效率。根据数据是否一次性读取完,将DEMO分为:1、串行式读取。也就......

随机推荐

  1. javascript中call,apply,bind的区别详解

    在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。在说区别之前还是先总结一下三者的相似之处:1、都是用来改变函数的this对象的指向的。2、第一个参数都是this要指向的对象。3、都可以利用后续参数传参。那么他们的区别在哪里的,先看一个例子。var xw = {name ......

  2. js实现简单商品筛选功能

    本文实例为大家分享了js实现商品筛选功能的具体代码,供大家参考,具体内容如下应用场景:商品筛选Document* {margin: 0;padding: 0;list-style: none;text-decoration: none;}.choose {width: 500px;height: a......

  3. spring使用RedisTemplate操作Redis数据库

    一.什么是RedisRedis是一个非关系型数据库,具有很高的存取性能,一般用作缓存数据库,减少正常存储数据库的压力。Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。下面......

  4. Python基础(中篇)

    数据类型的常用方法,条件语句,循环语句。本篇文章主要内容:数据类型的常用方法,条件语句,循环语句。在开始正篇之前我们先来看看上一篇留下的题目。题目:定义一个字典a,有两个键值对:一个键值对key是可乐,value是18;另一个键值对key是python,value是列表形式的1,2,3,4,5。答案......

  5. ORACLE 利用 REPLACE函数替换字段字符串

    REPLACE(string,s1,s2) string 希望被替换的字符或变量 s1 被替换的字符串 s2 要替换的字符串 SQL> select replace(he love you,he,i) from dual; REPLACE(H ---------- i love you...

  6. 如何在Vue项目中添加接口监听遮罩

    一、业务背景使用遮罩层来屏蔽用户的非正常操作,是前端经常使用的方式。但是在一些项目中,并没有对遮罩层进行统一管理,这就会造成如下的问题:(1)所有的业务组件都要引入遮罩层组件,也就是每个.vue业务组件,都在template中引入了Mask组件。组件在项目的各个角落都存在,不利于管理,代码极度冗余。......

  7. PHP中PDO关闭连接的方法问题

    在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作。不过在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封装,而且大部分框架都已经默认是使用 PDO 来进行数据库的操作,那么,大家知道 PDO 是如何关闭数据的连接的吗?官方说明要想......

  8. python 合并列表的八种方法

    Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。但你要知道,在团队合作里,炫技是大忌。为什么这么说呢?我说下自己的看法:越简洁的代码,越清晰的逻辑,就越不容易出错;在团队合作中,......

  9. 正确的使用Python临时文件

    1、前言临时文件通常用来保存无法保存在内存中的数据,或者传递给必须从文件读取的外部程序。一般我们会在/tmp目录下生成唯一的文件名,但是安全的创建临时文件并不是那么简单,需要遵守许多规则。永远不要自己去尝试做这件事,而是要借助库函数实现。而且也要小心清理临时文件。临时文件引起的最大问题就是,可以预测......

  10. python 合并列表的八种方法

    Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。但你要知道,在团队合作里,炫技是大忌。为什么这么说呢?我说下自己的看法:越简洁的代码,越清晰的逻辑,就越不容易出错;在团队合作中,......