0

我正在尝试在 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它以查看它是否存在,但它永远不存在!有人可以在这里给我一个提示吗?

4

1 回答 1

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运算符。

于 2012-07-05T20:15:13.500 回答