Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在pathlib.Path中使用format()_Python_Pathlib - Fatal编程技术网

Python 在pathlib.Path中使用format()

Python 在pathlib.Path中使用format(),python,pathlib,Python,Pathlib,我试图设置一个变量,指向桌面上生成并命名的包含今天日期的文件。但我得到了以下错误: IndexError: Replacement index 1 out of range for positional args tuple 该文件将附加到Outlook电子邮件。我知道pathlib需要声明一个绝对路径,但如果我想使用format()使其指向一个文件,该文件在生成时名称每天都在更改,该怎么办 这是一项自动化任务,因此,如果我可以使日期反映今天的日期,而不必对代码进行更改,那将是理想的。提前谢谢

我试图设置一个变量,指向桌面上生成并命名的包含今天日期的文件。但我得到了以下错误:

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")))

如果使用空的
{}
作为占位符,则每个占位符都必须替换为不同的值,因此需要以
格式提供尽可能多的替换项

如果要使用相同的值两次,可以对它们进行编号,以便两者都使用参数对索引为0的
格式进行设置:

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

这里的错误是什么?这对我来说很好,你在尝试这样做的时候遇到过什么问题吗?我在你的帖子中看不到一个问题…编辑后添加了错误信息。这对我来说也非常有效。请提供一个再现问题的最小代码示例,此示例没有。您有两个插槽要填充字符串,因此需要提供两个
格式的替换,但您只提供一个。