在 shell 命名中,我们很通过mv
命令,可以很简单的移动一个文件到另外一个位置,或者重命名一个文件为另外一个名字。
在 unix 系统中,mv 命令可以用来移动文件,同时,也可以用来重命名一个文件。
使用Python的os
和shutil
模块也可以重命名文件
os.rename()
和 shutil.move()
方法都可以实现类似与 shell 中的mv
命令相似的功能。
1 | def rename(*args, **kwargs): # real signature unknown |
1 | def move(src, dst, copy_function=copy2): |
其中 shutil.move()
更加接近 Unix 的mv
命令。os.rename()
不支持移动一个文件到另外一个磁盘上,而 shutil.move()
可以支持。
在操作系统中,移动文件和重命名文件是一样的,只需要在文件系统中修改文件表信息,并不需要进行物理的移动。区别比较大的是,在 windows 系统上的多个分区之间的移动是需要进行物理移动的。
拷贝是需要进行物理拷贝的,所以很多时候你会发现,移动一个文件比复制一个文件要快一些。