使用 shutil 在 python 中移动文件

moving a file in python using shutil

我知道 python 中有一些关于如何移动文件的帖子,但我有点困惑。我正在开发一个程序,该程序有一个名为 test.txt

的文件

文件路径是这样的:C:\Users\user\Desktop\Project1\Project1
我想将其移动到:C:\Users\user\Documents\ProjectMoved
我尝试了下面的不同变体

src="C:\Users\user\Desktop\Project1\Project1\test.txt"
dst="C:\Users\user\Documents\ProjectMoved"
shutil.move(src, dst)

我一直收到目录中没有这样的文件的错误。

我想知道是否有人可以帮助我找到移动文件的正确方法。

可能值得检查文件是否存在,然后尝试使用 os.path.join:

指定路径
import shutil
import os
from os.path import join

src = join('/', 'Users', 'username', 'Desktop', 'a.pdf')
dst = join('/', 'Users', 'username', 'Documents', 'a.pdf')

shutil.move(src, dst)

您可以先验证src是否真的存在:

os.path.exists(src)
>>> True

如果您尝试将多个 .txt 文件从文件夹 A 移动到文件夹 B,此问题也可以通过这种方式解决。此原理可以应用于您移动 .txt 文件后的问题。

import os
import shutil
os.chdir('C:\') 

dir_src = ("C:\Folder A\")
dir_dst = ("C:\Folder B\")

for filename in os.listdir(dir_src):
    if filename.endswith('.txt'):
        shutil.move( dir_src + filename, dir_dst)
    print(filename)