我试图在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
以查看它是否存在,并且它永远不存在!有人能在这里给我一个暗示吗?
答案 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
运算符。