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

Python中使用日期时间戳作为文件名触发AttributeError报错如何解决

问题原因
  • 语法使用错误:你写的'dt'.txt会被Python解析为「获取字符串'dt'的txt属性」,字符串类型本身没有内置txt属性,因此触发AttributeError。
  • 你此处的需求是将dt变量存储的时间字符串和.txt后缀拼接作为文件名,而非使用固定的dt字符串作为文件名前缀,不能将变量名用引号包裹。
修复方案

首先修正文件名拼接逻辑,同时建议修改时间格式避免系统文件名非法字符问题:

  1. 调整时间格式,替换文件名不允许的冒号:为下划线_(冒号在Windows、NTFS/exFAT分区中属于非法文件名字符,会导致保存失败)
  2. 用f-string或者加号拼接变量和后缀

正确示例代码:

import datetime
# 调整时间格式,移除非法字符
dt = datetime.datetime.now().strftime("%m.%d.%Y - %H_%M")
print(dt)
# 拼接文件名,这里dt是变量,不要加引号
p = open(f"{dt}.txt", "w+")
# 操作完文件后记得调用p.close()关闭文件,避免资源泄漏
额外优化建议
  • 处理文件优先用with上下文管理器,会自动关闭文件,无需手动调用close方法,写法如下:
with open(f"{dt}.txt", "w+") as p:
    # 这里写对文件的操作逻辑
    p.write("测试内容")
  • 如果是保存照片的场景,把后缀对应改成.jpg/.png即可,拼接逻辑不变。

内容的提问来源于stack exchange,提问作者3sixty bubba

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:54:05