def checkFileName(self, name, path): # 分离文件名和后缀名 name = QUrl(name.strip()).fileName() info = list() index = name.rfind('.') if index <= 0: info = [name, ""] else: info = [name[0:index], name[index + 1:]] dirList = QDir(path).entryList() filename = name tempname = filename + '.tmp' cfgname = tempname + '.cfg' if not filename in dirList and not tempname in dirList and not cfgname in dirList: return filename num = 1 filename = info[0] + ('.' if len(info[1]) != 0 else '') + info[1] while filename in dirList or tempname in dirList or cfgname in dirList: filename = info[0] + "(" + str(num) + ")" + ( '.' if len(info[1]) != 0 else '') + info[1] tempname = filename + '.tmp' cfgname = tempname + '.cfg' num += 1 return filename