如何利用arg.yml中的变量重命名Jinja2的输出文件?
修改脚本实现动态输出文件名
你只需要对script.py做两处简单修改,就能实现用arg.yml里的filename指定输出文件名:
- 从加载的配置字典
arg中取出filename字段的值,拼接上.txt后缀,得到最终的输出文件名 - 将原本固定的
"output.txt"替换成这个动态生成的文件名
修改后的完整代码如下:
from jinja2 import Environment, FileSystemLoader import yaml env = Environment(loader=FileSystemLoader(".")) templ = env.get_template("template.txt") with open('arg.yml') as f: arg = yaml.safe_load(f) # 从配置中获取文件名并拼接后缀 output_filename = f"{arg['filename']}.txt" with open(output_filename, 'w') as f: f.write(templ.render(arg))
补充说明:
- 如果
arg.yml里的filename已经包含.txt后缀,直接使用arg['filename']即可,无需额外拼接 - 确保
arg.yml中存在filename字段,避免运行时出现KeyError
内容的提问来源于stack exchange,提问作者And
相关产品推荐
相关产品推荐

