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

Python脚本读取config.ini时如何替换配置中的{today}变量?

解决config.ini中{today}变量替换为实际日期的问题

问题场景

配置文件config.ini内容:

[DHR]
key1 = "\path1..."
key2 = "\path2..."
key3 = "\path3\file-{today}.xlsx"

脚本已获取当日日期:

from datetime import date
today = date.today().strftime('%y%m%d')

但读取配置后,{today}未被替换,需将路径转为\\path3\file-240709.xlsx这类格式。

三种实用解决方法

方法1:直接字符串替换

读取配置值后,用replace()方法替换变量,简单直接:

import configparser
from datetime import date

today = date.today().strftime('%y%m%d')

# 读取配置文件
config = configparser.ConfigParser()
config.read('config.ini')

# 替换变量
target_path = config['DHR']['key3'].replace('{today}', today)
print(target_path)

方法2:使用str.format()

利用字符串格式化方法,适合多变量场景扩展:

import configparser
from datetime import date

today = date.today().strftime('%y%m%d')

config = configparser.ConfigParser()
config.read('config.ini')

target_path = config['DHR']['key3'].format(today=today)
print(target_path)

方法3:使用string.Template(规范的模板替换)

如果后续有更多变量需求,用Template更严谨,避免格式化冲突:

import configparser
from datetime import date
from string import Template

today = date.today().strftime('%y%m%d')

config = configparser.ConfigParser()
config.read('config.ini')

# 初始化模板并替换变量
path_template = Template(config['DHR']['key3'])
target_path = path_template.substitute(today=today)
print(target_path)

注意事项

  • 确保config.ini中的路径转义正确,读取后是合法的字符串;
  • 如果配置中有多个动态变量,方法2和方法3的扩展性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 04:06:12