利用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网络编程调用recv函数完整接收数据的三种方法

最近在使用python进行网络编程开发一个通用的tcpclient测试小工具。在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket网络开发必须要考虑...

对Python的多进程锁的使用方法详解

很多时候,我们需要在多个进程中同时写一个文件,如果不加锁机制,就会导致写文件错乱 这个时候,我们可以使用multiprocessing.Lock() 我一开始是这样使用的: impo...

Python Sqlite3以字典形式返回查询结果的实现方法

sqlite3本身并没有像pymysql一样原生提供字典形式的游标。 cursor = conn.cursor(pymysql.cursors.DictCursor) 但官方文...

python安装twisted的问题解析

python安装twisted的问题解析

今天在用pip安装wisted模块的时候没有任何的问题,但是当使用的时候发生了,无法导入win32api这个包,原因是因为python不能自己去使用系统的api。因此需要去安装pywin...

Python实现视频下载功能

Python实现视频下载功能

最近一两年短视频业务风生水起,各个视频网站都有各自特色的短视频内容。如果有这样一个程序,可以把各大视频网站的热门用户最新发布的视频都下载下来,不仅方便自己观看,还可以将没有版权的视频发布...