使用python脚本删除已存在的文件

时间:2017-06-12 21:28:05

标签: python backup os.walk python-os

我正在尝试编写一个备份脚本,对于其中的一部分,我正在考虑在我备份数据的目录中删除具有相同名称的现有文件,因此我没有数千个具有相同名称的文件。我想删除旧文件,然后备份该文件的较新版本。我计划使用crontab每周进行一次或两次备份。到目前为止,我有以下内容:

for files in os.walk(BACKUP_FROM_PATH):
    if files.isfile():
        if files.name in BACKUP_TO_PATH:  # checks if a file with the same name is already in the backup dir
            os.remove(files)
            removed.append(files)
    elif files.isdir():
        for files2 in os.walk(files):
            if files2.isfile():
                if files2.name in BACKUP_FROM_PATH:
                    os.remove(files2)
                    removed.append(files2)
return removed

我也有以下选择:

for files, dirs, root in os.walk(BACKUP_FROM_PATH):
    for currentFile in files:
        if currentFile in BACKUP_FROM_PATH):
            os.remove(os.path.join(root, currentFile))
            removed.append(currentFile)
return removed

我很好奇只是在执行os.remove和执行os.remove(os.path.join(root,currentFile))之间的区别。我见过人们都提到了这两种方式,并想知道一个人是首选还是他们的行为方式不同。

0 个答案:

没有答案