--- a/eric6/Project/CreateDialogCodeDialog.py Tue Oct 13 19:02:26 2020 +0200 +++ b/eric6/Project/CreateDialogCodeDialog.py Wed Oct 14 17:50:39 2020 +0200 @@ -421,9 +421,8 @@ """ project type "{0}".</p>""") .format(self.project.getProjectType())) return - tmplFile = open(tmplName, 'r', encoding="utf-8") - template = tmplFile.read() - tmplFile.close() + with open(tmplName, 'r', encoding="utf-8") as tmplFile: + template = tmplFile.read() except IOError as why: E5MessageBox.critical( self, @@ -457,9 +456,8 @@ else: # extend existing file try: - srcFile = open(self.srcFile, 'r', encoding="utf-8") - sourceImpl = srcFile.readlines() - srcFile.close() + with open(self.srcFile, 'r', encoding="utf-8") as srcFile: + sourceImpl = srcFile.readlines() if not sourceImpl[-1].endswith("\n"): sourceImpl[-1] = "{0}{1}".format(sourceImpl[-1], "\n") except IOError as why: @@ -547,25 +545,24 @@ sourceImpl[appendAtIndex:appendAtIndex] = slotsCode # write the new code + if self.project.useSystemEol(): + newline = None + else: + newline = self.project.getEolString() + fn = self.filenameEdit.text() try: - if self.project.useSystemEol(): - newline = None - else: - newline = self.project.getEolString() - srcFile = open(self.filenameEdit.text(), 'w', encoding="utf-8", - newline=newline) - srcFile.write("".join(sourceImpl)) - srcFile.close() + with open(fn, 'w', encoding="utf-8", newline=newline) as srcFile: + srcFile.write("".join(sourceImpl)) except IOError as why: E5MessageBox.critical( self, self.tr("Code Generation"), self.tr("""<p>Could not write the source file "{0}".</p>""" """<p>Reason: {1}</p>""") - .format(self.filenameEdit.text(), str(why))) + .format(fn, str(why))) return - self.project.appendFile(self.filenameEdit.text()) + self.project.appendFile(fn) @pyqtSlot(int) def on_classNameCombo_activated(self, index):