我想要将 source_dir 中的 zip 复制/移动到 dst 位置。 zip 被复制到 dist 路径。但是,如何删除 source_dir 文件?我尝试了 move 选项,该选项删除了 source_dir 文件,但如果存在具有现有名称的 zip,则 move 命令无法移动 zip。复制方法有效,只是覆盖它,但在 source_dir 中留下一个 zip。 下面是我的代码,它复制成功,但 zip 文件没有从 source_dir 中删除。我做错了什么?
def Movezips(self, email):
time.sleep(2)
print("starting moving")
source_dir = 'C:/Download'+email+'/'
dst = 'E:/BackUpZip/'+email
Path(dst).mkdir(parents=True, exist_ok=True)
dst=dst+'/'
files = glob.iglob(os.path.join(source_dir, "*.zip"))
for file in files:
if os.path.isfile(file):
shutil.copy(file, dst)
for file in files:
if os.path.isfile(file):
shutil.rmtree(file)
您可以使用 os 而不是 Shutil 来删除文件夹和文件
要删除文件,您可以使用
os.remove("filename")
要删除文件夹,您可以使用
os.rmdir("foldername")
或者使用shutil你可以尝试
'shutil.move(file, dst, copy_function=copy)'
移动的默认
copy_function
是copy2
,但正如你所说,copy
对你有用,这也许也有用
我设法解决了我遇到的问题。最后简单地删除了多余的代码。
files = glob.iglob(os.path.join(source_dir, "*.zip"))
for file in files:
if os.path.isfile(file):
shutil.copy(file, dst)
os.remove(file)