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

如何在Python中打开刚用当前日期创建的目录并生成Attendance.csv文件?

正确实现方法

你之前的open()调用参数有误——open函数仅接受完整文件路径作为第一个参数,不能将目录和文件名分开传递。正确做法是先拼接出完整的文件路径,再执行文件操作。

以下是完整的修正代码:

import os
import datetime
import csv

# 创建日期命名的目录
datestring = datetime.datetime.now().strftime("%Y-%m-%d")
print(datestring)
os.mkdir(datestring)

# 拼接完整的CSV文件路径(自动适配不同系统的路径分隔符)
csv_file_path = os.path.join(datestring, "Attendance.csv")

# 使用with语句打开文件(自动管理文件关闭,避免资源泄漏)
with open(csv_file_path, 'w', newline='') as f:
    writer = csv.writer(f)
    # 示例:写入表头
    writer.writerow(["姓名", "学号", "签到时间"])
    # 后续可继续写入考勤数据

核心要点解释:

  • 路径拼接:用os.path.join()拼接目录与文件名,无需手动写/或\,能自动适配Windows、Linux/macOS的路径规则,避免跨平台出错。
  • open模式选择:'w'表示写入模式,文件不存在时会自动创建;如果需要保留原有内容并追加数据,可改用'a'模式。newline=''是csv模块的推荐写法,能避免Windows系统下写入时出现多余空行。
  • with语句的优势:替代直接赋值f = open(...),代码块结束后会自动关闭文件,是Python文件操作的标准最佳实践。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:55:17