diff -r bd90cbe0b7d2 -r a763d57e23bc eric7/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.py --- a/eric7/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.py Mon Jun 06 16:34:37 2022 +0200 +++ b/eric7/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.py Fri Jul 01 11:02:32 2022 +0200 @@ -8,9 +8,10 @@ """ import os +import pathlib import re -from PyQt6.QtCore import QFileInfo, pyqtSlot +from PyQt6.QtCore import pyqtSlot from PyQt6.QtGui import QClipboard, QTextCursor from PyQt6.QtWidgets import ( QWidget, QDialog, QInputDialog, QApplication, QDialogButtonBox, @@ -327,24 +328,23 @@ None, EricFileDialog.DontConfirmOverwrite) if fname: - ext = QFileInfo(fname).suffix() - if not ext: + fpath = pathlib.Path(fname) + if not fpath.suffix: ex = selectedFilter.split("(*")[1].split(")")[0] if ex: - fname += ex - if QFileInfo(fname).exists(): + fpath = fpath.with_suffix(ex) + if fpath.exists(): res = EricMessageBox.yesNo( self, self.tr("Save regular expression"), self.tr("<p>The file <b>{0}</b> already exists." - " Overwrite it?</p>").format(fname), + " Overwrite it?</p>").format(fpath), icon=EricMessageBox.Warning) if not res: return - fname = Utilities.toNativeSeparators(fname) try: - with open(fname, "w", encoding="utf-8") as f: + with fpath.open("w", encoding="utf-8") as f: f.write(self.regexpTextEdit.toPlainText()) except OSError as err: EricMessageBox.information(