- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个函数来复制所有目录和文件并将它们放入一个文件夹中。这个目录没有备份文件夹,所以我第一次使用复制树创建一个,每次重新运行这个程序时,它应该再次备份(包括以前的备份)。我遇到了 copytree 陷入巨大递归循环的问题,并且不知道我做错了什么。这是我的代码。它第一次工作,但当我第二次运行它时,它就搞砸了。 argv[1] 是您要备份的本地文件夹。这将运行为:
% python3 文件名 文件夹名
from os import path, walk, remove, mkdir, listdir
from sys import argv
from shutil import copytree
if path.exists(argv[1]+'/Versions'):
copytree(argv[1], argv[1]+ '/Versions/' + str((len(listdir(argv[1]+'/Versions')))+1))
else:
copytree(argv[1], argv[1]+'/Versions/1')
如果 Versions 文件夹已存在,它会计算子文件夹的数量并创建一个新文件夹,其标签 +1 存在的文件夹数量
最佳答案
在我看来,您正在备份的文件夹的子文件夹中创建备份。
因此,下次运行脚本时,您将进行备份的备份,然后备份备份的备份,依此类推
将备份放入原始数据的子文件夹之外的位置,您的脚本应该可以正常工作。
source_path = os.path.join(argv[1], '/Versions')
destination_path = os.path.join(argv[1], '..', '/Backup')
#Now handle copying between these two locations
...
或者,您可以将可调用函数传递给 copytree
以忽略某些目录。
from shutil import copytree, ignore_patterns
copytree(source_path, destination_path, ignore=ignore_patterns('Versions'))
关于python - 我如何错误地使用 copytree 以及如何修复它以免陷入巨大的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24092059/
我正在尝试使用 python 复制文件/目录树。 是否可以使用 copytree 来复制所有以 foo 结尾的内容? 有一个 ignore_patterns 模式函数,我可以给它一个取反的正则表达式吗
我正在尝试在我的 python 程序中使用 shutil.copytree(libEntity,newDir) 并且出现以下错误: FileExistsError: [WinError 183] 当该
我正在尝试创建一个函数来复制所有目录和文件并将它们放入一个文件夹中。这个目录没有备份文件夹,所以我第一次使用复制树创建一个,每次重新运行这个程序时,它应该再次备份(包括以前的备份)。我遇到了 copy
整个晚上都在为此奋斗。三天前还可以工作,现在我再也无法让它工作了。 当我尝试使用这个时 def unzip_file(archiveFile, finalFolder, archiveFolder)
我想使用函数 shutil.copytree 从我的计算机上的本地服务器复制文件夹,我使用的是 macOS,但今天我遇到了问题,python 总是向我显示相同的消息,“[错误 1] 操作不允许”,但是
这是我正在编写的程序的一部分。目标是提取所有 GPX 文件,例如 G:\(在命令行中用 -e G:\指定)。它将创建一个“Exports”文件夹并在那里递归地转储所有具有匹配扩展名的文件。很好用, f
我有一些目录需要更新我正在使用以下代码 for newdir in newdirs: olddir = newdir.replace('h:\\','G:\\').replace('_acad
我的目录中有很多光栅文件 (600+),我需要将它们复制到新位置(包括它们的目录结构)。有没有办法使用 shutil.copytree() 跟踪复制状态?通常对于文件,我会使用下面的代码,但不确定如何
Python 的shutil.copytree 不是很灵活;在 copytree 中复制时添加对忽略权限的支持的最简单方法是什么(无需重写其实现)? 否则,copytree 会像这样失败: (…)”[
我正在尝试使用 shutil.copytree: shutil.copytree(SOURCE_DIR, TARGET_DIR, ignore=None) 此副本也包含在文件夹中。我只需要复制没有任何
考虑以下目录树 Work--->subdir1--->File1 | | | ---->File2 | -->subdir2--->Fi
我有一个函数: def path_clone( source_dir_prompt, destination_dir_prompt) : try: shutil.copytre
在 Python 脚本中,我复制了一个目录树,并想打印一些这样的文本... print("Copying... ", end="") shutil.copytree(src, dest) print(
documentation for the copytree function在 Python 2 版本的 shutil 中说, The source code for this should be
我想在调用 shutil.copytree() 时指定可忽略文件和目录的完整路径。有点像 def my_ignore(dir, files): # return ["exclude.file"
我正在尝试将目录复制到新位置。当它到达新位置时,我希望新目录的最后修改日期是它被复制到新位置的时间。 查看文档(https://docs.python.org/3/library/shutil.htm
我对 python 比较陌生。我正在尝试将一个目录复制到另一个保持结构的目录。 我正在使用 shutil.copytree(src, dst, symlinks=False, ignore=N
有没有一种方法可以使用绝对路径来过滤目录? shutil.copytree(directory, target_dir, ignore
我对 Python 还很陌生,所以请耐心等待。我想写一些东西来将文件从一个目录复制到另一个目录。我发现以下问题和解答:Here 在那里,我找到了这个答案: def copytree(src, dst,
我正在尝试编写一个 python 脚本来备份一个文件夹,并将其保留 x 天。 我用 shutil.copytree(source, finaldest) 我的问题是,原始文件的时间戳仍然存在,这意味着
我是一名优秀的程序员,十分优秀!