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

为什么无法创建名称为“InternetSpeedTest_11/24/21.csv”的文件?

问题产生原因

核心问题出在日期格式化的参数选择上:

  • strftime("%D")是%m/%d/%y的简写,生成的日期字符串会携带斜杠/,比如示例中的11/24/21
  • 斜杠在所有主流操作系统中都是默认的路径层级分隔符,系统会把你生成的文件名InternetSpeedTest_11/24/21.csv解析为「InternetSpeedTest_11目录下的24子目录中的21.csv文件」,因为这两层目录都不存在,所以无论你用相对路径还是绝对路径,都会抛出找不到文件的错误。
修复方案

只需要把日期格式化参数替换为不含路径分隔符的格式即可,推荐使用%Y%m%d(紧凑无分隔)或者%Y-%m-%d(短横线分隔易读),同时可以顺便修正原代码中错误的导入写法。

修正后的完整代码如下:

from os.path import exists
from datetime import datetime

data = "example data,123.456"

# 替换日期格式为不含斜杠的形式
filename = 'InternetSpeedTest_' + datetime.now().strftime("%Y-%m-%d") + '.csv'
if exists(filename):
    with open(filename, 'a+', encoding='utf-8') as f:
        f.write('\n' + data)
else:
    with open(filename, 'w+', encoding='utf-8') as f:
        f.write(data)

补充优化:原代码中读取文件开头后再追加写入的逻辑没有实际作用,已经简化为直接追加写入,同时添加了encoding参数避免不同系统下的编码乱码问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:45:00