在 pathlib.Path 中使用 format()

Using format() in pathlib.Path

我正在尝试设置一个变量以指向桌面上生成并命名为包含今天日期的文件。但我收到以下错误:

IndexError: Replacement index 1 out of range for positional args tuple

该文件将附加到 Outlook 电子邮件中。我知道 pathlib 需要声明一个绝对路径,但是如果我想使用 format() 使其指向一个文件,该文件的名称在生成时每天都会更改?

这是一个自动化任务,所以如果我能使日期反映今天的日期而无需更改代码,那将是理想的。提前致谢!

import win32com.client as client
import pathlib
import datetime

x = datetime.datetime.now()
image_path = pathlib.Path('C:/Users/username/Desktop/Folder {}/Filename {}.png'.format(x.strftime("%b %d")))

如果您使用空 {} 作为占位符,预计每个都必须替换为不同的值,因此您需要在 format 中提供尽可能多的替换。

如果您想两次使用相同的值,您可以对它们进行编号,以便两者都使用索引为 0 的 format 的参数:

import pathlib
import datetime

x = datetime.datetime.now()
image_path = pathlib.Path('C:/Users/username/Desktop/Folder {0}/Filename {0}.png'.format(x.strftime("%b %d")))

print(image_path)
# C:/Users/username/Desktop/Folder Aug 08/Filename Aug 08.png