Python shutil移动I / O错误

时间:2013-12-12 21:15:46

标签: python shutil

我正在尝试找到一些文件,创建一个文件夹并在那里移动文件。

def test():
    try:
        logfile = "C:\\Users\\alkis\\Desktop\\testouter\\test"
        result_dir = os.path.join(logfile, "testzip")
        print result_dir
        os.makedirs(result_dir)
        os.chmod(result_dir, stat.S_IWRITE)
        kpath = logfile + "\\*.jpg"
        print kpath
        files = glob.glob(kpath)
        for file in files:
           filename = os.path.splitext(file)[0]
           print filename
           os.chmod(filename, stat.S_IWRITE)
           shutil.move(filename, result_dir)
    except Exception, e:
        #shutil.rmtree(result_dir)
        print e.__doc__ + "\r\n"
        print e.message
    return

我得到的错误是:MS-Windows OS call failed 我检查了我的文件的权限,它们不是只读的。

1 个答案:

答案 0 :(得分:3)

您要列出每个文件,删除扩展名,然后尝试移动该文件名。

扩展名是文件名的一部分,请勿将其删除。 Windows Exlorer 仅在显示文件时隐藏扩展名。

您也无需在文件名上调用os.chmod();跳过这一步:

for file in files:
    filename = os.path.splitext(file)[0]
    print filename
    shutil.move(filename, result_dir)