在python中复制名称奇怪的文件时出现错误22

在python中复制名称奇怪的文件时出现错误22,python,Python,我尝试使用os、shutil.copy2和win32.file.copyfile在windows 7 64位中使用python复制具有任意名称的文件。我复制了某些文件夹中的所有文件。有时我会犯ioerror 22而不是英语 文件名中的字母。在gui中,我可以轻松地复制它们,而不用鼠标。我应该考虑什么API?有什么建议吗?像自动复制所有非法信件一样?尝试使用shutil.copytree将文件夹及其所有内容复制到目标 import shutil shutil.copytree('path/to/f

我尝试使用os、shutil.copy2和win32.file.copyfile在windows 7 64位中使用python复制具有任意名称的文件。我复制了某些文件夹中的所有文件。有时我会犯ioerror 22而不是英语
文件名中的字母。在gui中,我可以轻松地复制它们,而不用鼠标。我应该考虑什么API?有什么建议吗?像自动复制所有非法信件一样?

尝试使用
shutil.copytree
将文件夹及其所有内容复制到目标

import shutil
shutil.copytree('path/to/folder', 'path/to/destination')

请分享一些代码和确切的错误。谢谢提醒我。导致问题的典型文件是'd'caro groove-Mosa(asivoce Me Mata).krc'。例如,当我使用shutil.copy2(scrpath,dstpath)将其复制到不同的位置时,我得到了IOError:[Errno 22]无效模式('r')或文件名:。。。但在windows7 64位gui中,我当然可以将此文件复制到相同的目标路径。因此,如果有解决方案,我想也许我可以导入api,windows中使用的本机gui来完成相同的工作?大概当我列出()此文件名时,结果列表中出现了类似“d”?“c”“a”的内容。因此,我没有找到替换它们的方法来继续前面的评论:我猜问号表示系统没有识别代码,因此我没有找到简单地匹配和替换它们的方法。解决办法(如果有的话)可能是获得一份while/黑名单上的法律信函,并替换不属于白名单或黑名单的信函。但是这种方法可能很难实现,而且可能非常不可靠。谢谢abccd。实际代码会检查目标文件夹中的现有文件,并将其与源文件夹中的文件进行比较,以查看哪个文件较新。所以据我所知,我必须一次处理一个文件,除非有更好的方法“更新”两个文件夹。这个示例文件肯定可以在windows的GUI中用鼠标复制,但不能在脚本中复制。我相信他们使用了不同的API。那么,你认为有一种方法可以使用python脚本中使用的GUI api吗?你所说的“在Windows中的GUI中复制”是什么意思,它代表图形用户界面。我指的是文件'd'caro groove-Mosa(Asi Voce Me Mata)。Windows GUI中的用户可以使用鼠标/键盘以常规方式将krc复制并粘贴到不同的文件夹。我不是一个操作系统的家伙,所以我猜这个表达式是不准确的,也许我应该说是使用windows资源管理器之类的本机windows程序复制的。因此,如果我们可以使用windows explore本机使用的api,或者像人类用户那样复制api,可能可以解决这个问题。