鱼C论坛

 找回密码
 立即注册
查看: 764|回复: 2

[已解决]新人求助关于python-docx的问题

[复制链接]
发表于 2020-5-8 00:29:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from docx import Document

doc = Document('test.docx')
name = str(input('请输入'))
IDcard = str(input('请输入'))
paragraph3 = doc.paragraphs[2]

paragraph3.add_run(name).underline = True
paragraph3.add_run(IDcard).underline = True

paragraph3.runs[1] = paragraph3.runs[7]
paragraph3.runs[3] = paragraph3.runs[8]

paragraph3.runs[7].clear()
paragraph3.runs[8].clear()

doc.save('new.docx')

大佬们,为什么我这段代码创建了新的文档后和原文档一样呢
我想把paragraph3.runs[1]的内容替换为paragraph3.runs[7]的内容
为什么不能用 = 呢
最佳答案
2020-5-8 09:12:23
from docx import Document

doc = Document('test.docx')
name = str(input('请输入'))
IDcard = str(input('请输入'))
paragraph3 = doc.paragraphs[2]

paragraph3.add_run(name).underline = True
paragraph3.add_run(IDcard).underline = True


doc.paragraphs[1].text = doc.paragraphs[7].text
doc.paragraphs[3].text = doc.paragraphs[8].text

doc.paragraphs[7].clear()
doc.paragraphs[8].clear()

doc.save('new.docx')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 07:50:59 | 显示全部楼层
paragraph3.runs[1] = paragraph3.runs[7] 这一句相当于将 paragraph3.runs[1] 指向 paragraph3.runs[7] ,它们都是指向同一个数据,所以对其中一个执行了 clear(),另外一个也会被 clear()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-8 09:12:23 | 显示全部楼层    本楼为最佳答案   
from docx import Document

doc = Document('test.docx')
name = str(input('请输入'))
IDcard = str(input('请输入'))
paragraph3 = doc.paragraphs[2]

paragraph3.add_run(name).underline = True
paragraph3.add_run(IDcard).underline = True


doc.paragraphs[1].text = doc.paragraphs[7].text
doc.paragraphs[3].text = doc.paragraphs[8].text

doc.paragraphs[7].clear()
doc.paragraphs[8].clear()

doc.save('new.docx')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 04:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表