如何复制扩展名为.txt的文件?
我正在尝试创建一个程序来自动创建我在 python 中工作的目录的文件 .txt 。 我设法创建一个代码来查找所有扩展名为 .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
I am trying create a program to automatizate the creation of the files .txt of directory to my work in python.
I managed to create a code to find all the files with extension .txt . but but i can't copy all these files to another folder, because it shows me the following error.
I leave you my code, so that you can help me regarding the error that it shows me.
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)
The ERROR is:
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
OS.walk()
通过自上而下或自下而上遍历树来生成目录树中的文件名。对于树中以目录顶部为根的每个目录(包括顶部本身),它会生成一个 3 元组(目录路径、目录名、文件名)。你可以简单地使用这个:
OS.walk()
generates the file names in a directory tree by walking the tree either top-down or bottom-up. For each directory in the tree rooted at the directory top (including top itself), it yields a 3-tuple (dirpath, dirnames, filenames).you can simply use this:
发生这种情况是因为在
pathlib.Path
object 生成与模式(在您的情况下,“**\*.txt”
)。幸运的是,这就像将WindowsPath
(或其他系统中的PosixPath
)转换为字符串一样简单:This happens because using glob on a
pathlib.Path
object yields all the files that match the pattern (in your case,"**\*.txt"
). Luckily, this is as easy as converting yourWindowsPath
(orPosixPath
in other systems) to string: