我正在尝试创建一个程序,将目录的.txt文件的创建自动化到我在python中的工作中。我设法创建了一个代码来查找扩展名为.txt的所有文件。但是,我不能将所有这些文件复制到另一个文件夹,因为它显示了以下错误。我将我的代码留给您,以便您可以帮助我了解它显示的错误。
import pathlib
from datetime import date
from shutil import copyfile
date_backup = date.today()
str_date_backup = str(date_backup).replace('-','.')
path_input = r'D:\2 PERSONAL'
ruta = pathlib.Path(path_input)
for archivo in ruta.glob("**\\*.txt"):
path_out = r'D:\Backup' + '\\' + str_date_backup + " - " + archivo
copyfile(path_input, path_out)
错误是:
Traceback (most recent call last):
File "D:\5 PROYECTOS PYTHON\Automatizar_Backup\Automatizar_Backup.py", line 24, in <module>
path_out = r'D:\Backup' + '\\' + str_date_backup + " - " + archivo
TypeError: can only concatenate str (not "WindowsPath") to str
发布于 2022-02-28 04:18:21
这是因为在pathlib.Path
对象生成与模式匹配的所有文件。上使用glob (在您的例子中是"**\*.txt"
)。幸运的是,这与将WindowsPath
(或其他系统中的PosixPath
)转换为字符串一样容易:
for file in pathlib.Path(".").glob("*.txt"):
file = str(file)
https://stackoverflow.com/questions/71290479
复制相似问题