在Python中移动文件

8 投票
6 回答
33975 浏览
提问于 2025-04-15 12:47

我对在Python中移动文件有点困惑。

在Windows命令行中,如果我有一个目录c:\a和一个目录c:\b,我可以这样做:

move c:\a c:\b

这样就可以把目录a移动到b,结果是目录结构变成了c:\b\a。

但是如果我用os.rename或者shutil.move来尝试:

os.rename("c:/a", "c:/b")

我会得到

WindowsError: [Error 17] Cannot create a file when that file already exists

如果我只移动c:\a下的一个文件,那是可以的。

那么在Python中,我该如何把一个目录移动到另一个已存在的目录呢?

6 个回答

1

os.rename("c:/a/", "c:/b/") --> 这行代码是把文件夹a的名字改成了b文件夹里的一个文件夹。

os.rename("c:/a/", "c:/b/a") --> 这行代码是把b文件夹放进了a文件夹里。

7

你可以试试使用 Shutil 这个模块。

16
os.rename("c:/a", "c:/b/a") 

等同于

move c:\a c:\b

在Windows命令行下

撰写回答