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

Python写入文件时如何为字典字符串值保留单引号

解决Python写入文件时自定义格式(保留date值单引号)

你直接把字典转成字符串写入文件,得到的格式不符合需求——你需要date的值带单引号,而键不需要加引号。但str(my_dict)会生成标准的Python字典字符串(键和字符串值都带单引号),所以得换个方式生成目标格式。

方案1:手动拼接目标字符串(推荐)

这种方法灵活,不管字典后续怎么调整,都能正确生成你要的格式:

my_dict = { 'date': '2018-11-28', 'weight': 172.91, 'height': 177.65, 'id':310 }

# 遍历键值对,区分字符串和数字值处理
formatted_parts = []
for key, val in my_dict.items():
    if isinstance(val, str):
        # 字符串值加单引号
        formatted_parts.append(f"{key}: '{val}'")
    else:
        # 数字值直接输出
        formatted_parts.append(f"{key}: {val}")

# 拼接成最终的格式字符串
final_content = "{ " + ", ".join(formatted_parts) + " }"

# 写入文件(用with语句自动关闭文件,更安全)
with open('file.txt', 'w') as f:
    f.write(final_content)

运行后,文件里的内容就是你想要的:

{ date: '2018-11-28', weight: 172.91, height: 177.65, id: 310 }

方案2:字符串替换(适合固定结构的场景)

如果你的字典结构不会变,也可以用字符串替换快速解决:

my_dict = { 'date': '2018-11-28', 'weight': 172.91, 'height': 177.65, 'id':310 }

# 先转成字符串,再替换掉键的引号,同时给date值加上单引号
content = str(my_dict).replace("'", "").replace("date: ", "date: '").replace(", weight", "', weight")

with open('file.txt', 'w') as f:
    f.write(content)

不过这种方法局限性大,一旦字典的键或顺序变了,就得修改替换规则,所以优先选方案1。

内容的提问来源于stack exchange,提问作者Abdullah .F

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:45:41