You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python命令行参数替换docx变量并指定文件名保存?

问题解决步骤

1. 修正变量替换错误

你的脚本里replacements字典的取值是字符串字面量(比如"print(arg1)"),这会直接把这段文本写入文档,而不是引用arg1的实际值。需要把这些值改成直接引用变量:

  • 把"print(arg1)"改成arg1
  • 把"file.writelines(arg2)"改成arg2
  • 把"(arg3)"改成arg3

2. 修改文档保存路径

要保存为第三个命令行参数命名的docx文件,直接用sys.argv[3]拼接.docx后缀即可,比如doc.save(f"{sys.argv[3]}.docx")

修改后的完整脚本

import sys
from docx import Document

# 提取命令行参数
arg1, arg2, arg3 = sys.argv[1], sys.argv[2], sys.argv[3]

doc = Document('test.docx')

# 修正替换规则,直接引用变量
replacements = {
    '${replace_me_1}': arg1,
    '${replace_me_2}': arg2,
    '${replace_me_3}': arg3,
}

# 执行替换操作
for paragraph in doc.paragraphs:
    for key, value in replacements.items():
        paragraph.text = paragraph.text.replace(key, value)

# 保存为指定文件名
doc.save(f"{arg3}.docx")

验证效果

运行命令:

python var-replace.py cat fish dog

执行后会生成dog.docx,文档内容为:

cat
fish
dog

内容的提问来源于stack exchange,提问作者pwrsheller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 15:51:51