def rename(self): newname = self.lineEdit_2.text() if newname != "": if self.select != "": dir = QDir() dir.rename(self.select, os.path.join(self.lineEdit.text(), newname)) QtWidgets.QMessageBox.information(MainWindow, '提示', '重命名文件夹成功!') self.getpath()
def rename(self, item: QModelIndex, name: str) -> None: """Renames a file or a directory at a given ModelIndex to given name""" directory = QDir(self.root_path) old_path = self.FsModel.filePath(item) new_path = old_path[:old_path.rfind(directory.separator())] + "/" + name try: directory.rename(old_path, new_path) except OSError: raise ProjectError("Error renaming file or directory")
def on_btnDir_rename_clicked(self): self.__showBtnInfo(self.sender()) sous = self.ui.editFile.text() if sous == "": self.ui.textEdit.appendPlainText("请先选择一个文件") return parDir = self.ui.editDir.text().strip() if parDir == "": self.ui.textEdit.appendPlainText("请先选择一个目录") return dirObj = QDir(parDir) fileInfo = QFileInfo(sous) newFile = fileInfo.path() + "/" + fileInfo.baseName() + ".XYZ" if dirObj.rename(sous, newFile): self.ui.textEdit.appendPlainText("源文件:" + sous) self.ui.textEdit.appendPlainText("重命名为:" + newFile + "\n") else: self.ui.textEdit.appendPlainText("重命名文件失败\n")
class EntryProviderParent(IEntryProvider): def __init__(self): self.parentDir = QDir() def setContext(self, context: str): self.setDirectory(context) def setDirectory(self, dirPath: str): self.parentDir = QDir(dirPath) def isEntryValid(self, entry: str) -> bool: # if already exists if entry in self.parentDir: return False return True def removeEntry(self, entry: str): if not self.parentDir.remove(entry): raise Exception("Failed to remove entry") def renameEnty(self, oldName: str, newName: str): if not self.parentDir.rename(oldName, newName): raise Exception("Rename Failed")