移动名称中带有空格的文件

时间:2012-07-05 20:13:09

标签: python shutil

我试图在python中移动一些文件,但是名称中有空格。有没有办法专门告诉python将字符串视为文件名?

listing = os.listdir(self.Parent.userTempFolderPath)
for infile in listing:
    if infile.find("Thumbs.db") == -1 and infile.find("DS") == -1:

        fileMover.moveFile(infile, self.Parent.userTempFolderPath, self.Parent.currentProjectObject.Watchfolder, True)

从列表中获取文件后,我在其上运行os.path.exists以查看它是否存在,并且它永远不存在!有人能在这里给我一个暗示吗?

1 个答案:

答案 0 :(得分:1)

文件名中的空格不是问题; os.listdir返回文件名,而不是完整路径。

您需要将它们添加到文件名中以进行测试; os.path.join将使用您平台的正确目录分隔符为您执行此操作:

listing = os.listdir(self.Parent.userTempFolderPath)
for infile in listing:
    if 'Thumbs.db' not in infile and 'DS' not in infile:
        path = os.path.join(self.Parent.userTempFolderPath, infile)

        fileMover.moveFile(path, self.Parent.userTempFolderPath, self.Parent.currentProjectObject.Watchfolder, True)

请注意,我还简化了文件名测试;而不是使用.find(..) == -1我使用not in运算符。