利用python-docx模块写批量生日邀请函

yipeiwu_com5年前Python基础

利用python-docx模块,写批量生日邀请函

有关python-docx的使用方法,可以参考官方的API文档。这里使用了其中的一些基本功能,来完成一个简单的任务:为参加聚会的好友,每人写一个word文档邀请函。邀请函也很简单,如下图:

下面是代码:

import docx
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT #引入文字的位置样式
from docx.shared import Pt #设置字体

#从guest.txt文件中读取一个客人列表
guests=open('guest.txt')
guest_list=[]
for guest in guests:
 if guest is not None:
  guest_list.append(guest.strip())

#生成邀请文档
for g in guest_list:
 doc=docx.Document() #新建word文档

 #第一段
 paragraph1=doc.add_paragraph('Welcome To My Birthday Party')
 paragraph1.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
 paragraph1.style='Title'

 #第二段
 paragraph2=doc.add_paragraph()
 paragraph2.paragraph_format.alignment=WD_PARAGRAPH_ALIGNMENT.CENTER
 run=paragraph2.add_run(g) #向段落中追加文字
 run.bold=True #设置追加文字样式
 run.font.size=Pt(30)
 run.style='Emphasis'

 # 第三段
 paragraph3=doc.add_paragraph()
 paragraph3.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
 paragraph3.style = 'Normal'
 run=paragraph3.add_run('Tomorrow is my birthay.I am looking forword your coming')
 run.font.size=Pt(20)

 doc.save(g+'.docx')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中从for循环延申到推导式的具体使用

本文采用循序渐进的写法,逐步递进. 传统for循环: #获取1到1000000的偶数 #采用传统写法(俗称普通解析) for i in range(1,10**6+1): if(i...

django小技巧之html模板中调用对象属性或对象的方法

django小技巧之html模板中调用对象属性或对象的方法

环境:依赖最初test2数据库            python3版本  ...

Python实现的文本对比报告生成工具示例

Python实现的文本对比报告生成工具示例

本文实例讲述了Python实现的文本对比报告生成工具。分享给大家供大家参考,具体如下: 借助于difflib的功能,可以针对我们的使用情况进一步进行功能的聚合。我想要的功能是输入两个文件...

Python实现动态添加类的属性或成员函数的解决方法

某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。 本文就此简述了Python实现动态...

每天迁移MySQL历史数据到历史库Python脚本

本文实例为大家分享了Python每天迁移MySQL历史数据到历史库的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # coding:utf-8...