我正在尝试编写代码并将名为的csv文件保存为 filename=“title”+“今天的日期和时间”+“.csv”
from datetime import date
import csv
filename = "title_" + str(date.today()) + ".csv"
f = open(filename, "w", encoding="utf-8-sig", newline="")
writer = csv.writer(f)
这似乎正在工作,文件保存为“title_2020-12-03.csv”
但我也想用时间来命名文件名 所以我试过了
from datetime import datetime
now = datetime.now()
today = now.strftime("%Y/%m/%d_%H:%M")
filename = "title_" + datetime.now().strftime("%Y/%m/%d_%H:%M") + ".csv"
f = open(filename, "w", encoding="utf-8-sig", newline="")
writer = csv.writer(f)
但这给了我一个错误
FileNotFoundError:[Errno 2]没有这样的文件或目录:“title\u 2020/12/03\u 11:22.csv”
任何帮助都将不胜感激, 谢谢大家!
这种方法的问题是,由于斜杠(
'/'
),所需的文件名将被识别为文件的修改文件路径因此,在名称为
'title_2020/12/03_11:22.csv'
的情况下,相对于执行的cwd,在目录中找不到具有相同名称的文件,而是程序将文件名解释为路径,并尝试在'title_2020/12/'
目录中查找文件'03_11:22.csv'
因此,您应该使用不同的分隔符,该分隔符不会与系统上的文件路径冲突。一般来说,最安全的方法是使用破折号或下划线
在工作日期中使用破折号而不是斜杠:
相关问题 更多 >
编程相关推荐