您的示例不起作用的原因与文件无关。
example = ("Path/to/file%s", "w") % str(datetime.now())
上面是使用%
运算符,左边是一个元组,右边是一个字符串。但该%
运算符用于基于字符串模板构建字符串,该模板出现在%
. 在左边放一个元组是没有意义的。
你需要把你想做的事情分解成更基本的步骤。您从“我想打开一个名称包含当前日期和时间的文件”开始。没有办法直接做到这一点,这就是为什么你找不到任何关于它的原因。但是文件名只是一个字符串,因此您可以使用字符串操作来构建一个字符串,然后打开该字符串。因此,您的问题实际上并不是“如何打开名称中包含日期/时间的文件?”,而是“如何将日期/时间与其他一些信息一起放入字符串中?”。您似乎已经知道该问题的答案:使用%
格式。
这是有道理的;否则我们必须为文件和字符串实现所有可能的字符串操作。对于我们使用字符串的其他所有内容。这不是(理智的)编程工作的方式。我们希望能够重用已经存在的操作,而不是每次都从头开始。
所以你要做的是使用字符串操作(与文件无关,既不知道也不关心你最终会使用这个字符串打开文件)来构建你的文件名。然后将该字符串传递给文件打开函数open
(连同"w"
指定您希望它可写的字符串)。
例如:
filename = "Path/to/file%s" % datetime.now()
example = open(filename, "w")
如果需要,可以将其放在一行中:
example = open("Path/to/file%s" % datetime.now(), "w")
但是如果你对编程和 Python 比较陌生,我建议你保持你的小步骤分解,直到你对一般事情更舒服。