使用shutil和os:[Errno 2]没有这样的文件或目录'文件夹'

时间:2017-11-21 10:04:28

标签: python-3.x

import os, shutil

directory = 'C:\\Users\\MinJun\\Documents\\Python exercise solutions'
def move_files(_dir):
    for file in os.listdir(_dir): #check every file in directory
        if os.path.isdir(file): #if it is a folder, skip
            continue
        if file.endswith('.py'): #if file ends with .py, skip
            continue
        else:   #move file to newfolder, (it will automatically create one)
            shutil.move(file, directory.join('\\newfolder')) 

move_files(directory)

您好,我正在尝试将不是文件夹或.py文件的文件移动到不存在的文件夹(但将使用shutil.move创建)。我在shutil模块中出错:
FileNotFoundError:[Errno 2]没有这样的文件或目录:' graphics'

我的文件夹' graphics'是目录中的第一项。

1 个答案:

答案 0 :(得分:0)

尝试

shutil.move(file, ''.join([directory, '\\newfolder'])

加入可能无法按预期工作:https://docs.python.org/3.5/library/stdtypes.html#str.join

如果你print(directory.join('\\newfolder')),你可以看到它产生的结果,并确定这条路径不存在。

还有os.path.join(path, *paths),这是一种"路径感知"字符串连接功能。