def __openByStream(self, fileName): ##用QTextStream打开文件 fileDevice = QFile(fileName) if not fileDevice.exists(): #判断文件是否存在 return False if not fileDevice.open(QIODevice.ReadOnly | QIODevice.Text): return False try: fileStream = QTextStream(fileDevice) fileStream.setAutoDetectUnicode(True) #自动检测Unicode fileStream.setCodec("utf-8") #必须设置编码,否则不能正常显示汉字 # 一次性全部读出 ## text=fileStream.readAll() #读取出来就是str ## self.ui.textEdit.setPlainText(text) #逐行读取方式 self.ui.textEdit.clear() while not fileStream.atEnd(): lineStr = fileStream.readLine() #读取文件的一行,读取出来就是str self.ui.textEdit.appendPlainText(lineStr) #添加到文本框显示 finally: fileDevice.close() #关闭文件 return True
def updateTextEdit(self): mib = self.encodingComboBox.itemData(self.encodingComboBox.currentIndex()) codec = QTextCodec.codecForMib(mib) data = QTextStream(self.encodedData) data.setAutoDetectUnicode(False) data.setCodec(codec) self.decodedStr = data.readAll() self.textEdit.setPlainText(self.decodedStr)
def do_error(self): os = QTextStream(self) os.setAutoDetectUnicode(True) os << "HTTP/1.1 400 Bad Request\r\n" \ + "Content-Type: text/plain; charset=\"utf-8\"\r\n" \ + "\r\n" \ + 'The request could not be understood by the\n' \ 'server due to malformed syntax.\n' self.close()
def do_head(self): os = QTextStream(self) os.setAutoDetectUnicode(True) os << 'HTTP/1.1 200 OK\r\n' \ + 'Content-Type: text/plain; charset="utf-8"\r\n' \ + 'Server: HTTP skeleton server\r\n' \ + '\r\n' self.close()
def __writeTxt(self, file_name): """ :param file_name: str,txt文件名 :return: 无 """ file_device = QFile(file_name) if not file_device.open(QIODevice.WriteOnly | QIODevice.Text): return False try: file_stream = QTextStream(file_device) file_stream.setAutoDetectUnicode(True) # 自动检测Unicode file_stream.setCodec('utf-8') self.__exportTable(file_stream) finally: file_device.close() return True
def __saveByStream(self, fileName): ##用 QTextStream 保存文件 fileDevice = QFile(fileName) if not fileDevice.open(QIODevice.WriteOnly | QIODevice.Text): return False try: fileStream = QTextStream(fileDevice) #用文本流读取文件 fileStream.setAutoDetectUnicode(True) #自动检测Unicode fileStream.setCodec("utf-8") #必须设置编码,否则不能正常显示汉字 text = self.ui.textEdit.toPlainText() #返回是str类型 fileStream << text #使用流操作符 ## fileStream<<"\n***************在尾部添加的第1行" finally: fileDevice.close() return True
def __saveByStream(self, fileName): fileDevice = QFile(fileName) if not fileDevice.exists(): return False if not fileDevice.open(QIODevice.ReadOnly | QIODevice.Text): return False try: fileStream = QTextStream(fileDevice) fileStream.setAutoDetectUnicode(True) fileStream.setCodec("utf-8") text = self.ui.textEdit.toPlainText() fileStream << text finally: fileDevice.close() return True
def __readTxt(self, file_name: str) -> bool: """ :param file_name: str,txt文件名 :return: bool,是否成功 """ file_device = QFile(file_name) if not file_device.exists(): return False if not file_device.open(QIODevice.ReadOnly | QIODevice.Text): return False try: file_stream = QTextStream(file_device) file_stream.setAutoDetectUnicode(True) # 自动检测unicode file_stream.setCodec('utf-8') # 不然不能读取汉字 while not file_stream.atEnd(): line_str = file_stream.readLine() # 一行行读,读出来就是str self.__import2Table(line_str) finally: file_device.close() return True
def __openByStream(self, fileName): fileDevice = QFile(fileName) if not fileDevice.exists(): return False if not fileDevice.open(QIODevice.ReadOnly | QIODevice.Text): return False try: fileStream = QTextStream(fileDevice) fileStream.setAutoDetectUnicode(True) fileStream.setCodec("utf-8") self.ui.textEdit.clear() while not fileStream.atEnd(): lineStr = fileStream.readLine() self.ui.textEdit.appendPlainText(lineStr) finally: fileDevice.close() return True