Shutil.move() 函数将文件移动到我无法打开的文件夹中
Shutil.move() function moved files into a folder which i cant open
我使用了shutil.move()
函数将一些重要的文件移动到所需的目录中。该目录不存在,所以我将名称作为参数提供给 shutil.move()
函数。执行后,它将文件移动到我无法打开的目录中(这似乎不是目录,当看到属性时它说它是 "File")。你能帮我打开这个文件来提取我的文件吗??
代码是这样的:
for file in Path("C/Users/Mahum/Downloads").glob(*.exe):
shutil.move(file, "E/New Folder")
代码以零退出代码执行,但我遇到了那个问题......
你的路径应该是 C:/Users/Mahum/Downloads
而不是 C/Users/Mahum/Downloads
我认为您误解了 shutil 的功能。
如果目标是一个目录,那么它会将源文件移动到
那个目录。
但是如果目的地不存在,它会将 src 重命名为
目的地。
如果目标确实存在并且它是一个文件,它将覆盖那个
dest 文件与源文件。
所以在你的情况下,假设你有 5 个文件。 "E/New Folder" 不存在。所以在文件循环上
file1 重命名为 E/New 文件夹(此时 file1 不存在,其内容在 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 文件夹确实是一个文件,它将保存通过 shutil.move 到达此目的地的列表文件的内容,所有其他文件和内容都将丢失。
如果您在移动文件之前没有创建新文件夹,它可能会将请求视为文件并相互覆盖。另一件可能发生的事情只是覆盖了每个文件的顶部。如果您没有备份,您可能已经丢失了文件。您可以尝试使用磁盘恢复程序进行恢复。为 OS 寻找一个。
我使用了shutil.move()
函数将一些重要的文件移动到所需的目录中。该目录不存在,所以我将名称作为参数提供给 shutil.move()
函数。执行后,它将文件移动到我无法打开的目录中(这似乎不是目录,当看到属性时它说它是 "File")。你能帮我打开这个文件来提取我的文件吗??
代码是这样的:
for file in Path("C/Users/Mahum/Downloads").glob(*.exe):
shutil.move(file, "E/New Folder")
代码以零退出代码执行,但我遇到了那个问题......
你的路径应该是 C:/Users/Mahum/Downloads
而不是 C/Users/Mahum/Downloads
我认为您误解了 shutil 的功能。
如果目标是一个目录,那么它会将源文件移动到
那个目录。但是如果目的地不存在,它会将 src 重命名为
目的地。如果目标确实存在并且它是一个文件,它将覆盖那个 dest 文件与源文件。
所以在你的情况下,假设你有 5 个文件。 "E/New Folder" 不存在。所以在文件循环上
file1 重命名为 E/New 文件夹(此时 file1 不存在,其内容在 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 文件夹确实是一个文件,它将保存通过 shutil.move 到达此目的地的列表文件的内容,所有其他文件和内容都将丢失。
如果您在移动文件之前没有创建新文件夹,它可能会将请求视为文件并相互覆盖。另一件可能发生的事情只是覆盖了每个文件的顶部。如果您没有备份,您可能已经丢失了文件。您可以尝试使用磁盘恢复程序进行恢复。为 OS 寻找一个。