如何在Python中移动文件?

1441

我该如何在Python中实现类似于mv命令的功能?

mv "path/to/current/file.foo" "path/to/new/destination/for/file.foo"

8
如果你熟悉 gnu-coreutils 的 mv 命令,那么需要注意 Python 中的 shutil.move 在一个特殊情况下与 mv 不同。具体信息请查看此处全文。简而言之,当目标文件夹已存在一个与源文件同名的文件时,Python 的 shutil.move 会引发异常(但 gnu-coreutils 的 mv 不会)。 - Trevor Boyd Smith
我觉得将问题编辑成与接受的答案相匹配是非常不公平的。该问题并没有要求将一个文件移动到另一个文件中,而是将一个或多个文件移动到一个目录中。 - Javier Palacios
11个回答

-1
  import os,shutil

  current_path = "" ## source path

  new_path = "" ## destination path

  os.chdir(current_path)

  for files in os.listdir():

        os.rename(files, new_path+'{}'.format(f))
        shutil.move(files, new_path+'{}'.format(f)) ## to move files from 

不同的磁盘,例如 C: --> D:


如果您正在使用Python3.#,则可以使用新的f-string插值:f"{new_path}{f}",但是考虑到字符串中没有静态文本,这可能需要更多的工作... 不过我一直在努力养成使用f-strings的习惯。 - jusopi
1
你是指文件(file)而不是 f 吗? - Matthew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接