如何在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
相关产品推荐
相关产品推荐

