为什么我不能在Python中将文本文件移到不同的文件夹中?

2024-05-19 00:01:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pythonshutil模块将4个txt文件从FolderA移动到FolderB。你知道吗

当我运行以下代码时,我得到一个回溯错误:

shutil.move('C:\Users\Student\Desktop\FolderA.txt', 'C:\Users\Student\Desktop\FolderB')

但我知道pathway确实存在,因为当我尝试这个命令时,它工作正常,并将整个文件夹A(包括txt文件)移动到FolderB中:

shutil.move('C:\Users\Student\Desktop\FolderA', 'C:\Users\Student\Desktop\FolderB')

有没有办法只移动文本文件而不复制它们?我正在使用pythonshell2.7以防您想知道。你知道吗


Tags: 模块文件代码命令txtmove错误users
2条回答

首先,正确地转义路径分隔符,或者使用双反斜杠,或者在前面添加一个r''来指示它的原始字符串,如下所示

此命令没有按您的意图执行,它尝试移动文件调用文件夹.txt进入文件夹B

shutil.move(r'C:\Users\Student\Desktop\FolderA.txt', r'C:\Users\Student\Desktop\FolderB')

下面的代码应该是您想要的。 使用glob模块grep FolderA中的所有txt文件,然后将它们逐个移动到FolderB中

import glob
# this will move all txt file from FolderA into FolderB
# but you need to ensure FolderB exists, else it might create a file named FolderB instead
for f in glob.glob(r'C:\Users\Student\Desktop\FolderA\*.txt'):
    shutil.move(f, r'C:\Users\Student\Desktop\FolderB')

使用Windows路径时需要使用双反斜杠,否则下一个字符将被转义,从而引发IOError: [Errno 2] No such file or directory:...'。即

shutil.move('C:\\Users\\Student\\Desktop\\FolderA.txt', 'C:\\Users\\Student\\Desktop\\FolderB')

相关问题 更多 >

    热门问题