函数的作用是:将文件移动到一个我无法打开的文件夹中

2024-09-29 06:35:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用shutil.move()函数将一些重要文件移动到所需的目录中。目录不存在,因此我将该名称作为参数ishutil.move()函数提供。执行后,它将文件移动到一个dir中(看起来不是dir,当看到属性时,它会说它是一个“文件”),我无法打开它。你能帮我打开这个文件来解压缩我的文件吗?? 代码是这样的:

for file in Path("C/Users/Mahum/Downloads").glob(*.exe):
    shutil.move(file, "E/New Folder")

代码执行时没有退出代码,但我遇到了这个问题


Tags: 文件函数代码in目录名称for参数
3条回答

我想你误解了舒蒂尔的能力

  • 如果目标是dir,则它将源文件移动到
    那个导演

  • 但是,如果目标不存在,它将把src重命名为
    目的地

  • 如果目标确实存在并且它是一个文件,它将覆盖该文件 使用源文件删除dest文件

所以在你的情况下,让我们假设你有5个文件。“E/新文件夹”不存在。所以在文件循环中

文件1重命名为E/New文件夹(此时文件1不存在,其内容在E/New文件夹中)

file2覆盖E/New文件夹(file2被删除,E/New文件夹现在包含file2的内容,file1的内容现在完全丢失)

file3覆盖E/New文件夹(file3被删除,E/New文件夹现在包含file3的内容,file2的内容现在完全丢失)

file4覆盖E/New文件夹(file4被删除,E/New文件夹现在包含file4的内容,file3的内容现在完全丢失)

file5覆盖E/New文件夹(file5被删除,E/New文件夹现在包含file5的内容,file4的内容现在完全丢失)

因此,E/New Folder很可能确实是一个文件,它将保存通过shutil.move的列表文件的内容,移动到此目标,所有其他文件和内容都将丢失

如果在移动文件之前没有创建新文件夹,则可能会将请求视为一个文件并覆盖彼此的ontop。另一件可能发生在每个文件的上面的事情。如果没有备份,您可能会丢失文件。您可以尝试使用磁盘恢复程序进行恢复。为操作系统寻找一个

您的路径应该是C:/Users/Mahum/Downloads,而不是C/Users/Mahum/Downloads

相关问题 更多 >