main.py
# -*- coding: utf-8 -*-##main.py 主要負責寫業(yè)務邏輯的文件。
import sys, os
from PySide2 import QMainWindow, QFileDialog, QApplication
from PySide2 import QtGui, QtWidgets, QtCore
import design
# from string import maketrans# 創(chuàng)建APP類,并繼承UI的類
class WoHeYunApp(QMainWindow, design.Ui_MainWindow):# 初始化構(gòu)造函數(shù)def __init__(self):# 繼承: super指父類(子類,實例).構(gòu)造函數(shù)super(WoHeYunApp, self).__init__()self.setupUi(self)# 把UI中的函數(shù)功能(事件)self.pushButton.clicked.connect(self.browse_folder)self.pushButton2.clicked.connect(self.click_event)# self.openMessageBox()# 功能函數(shù)def browse_folder(self):self.listWidget.clear() # 清除列表內(nèi)容a = QFileDialog # 創(chuàng)建文件夾選擇對話框# a.setDirectoryUrl(self,'E:\\')# QFileDialog.setDirectory(QFileDialog, )directory = a.getExistingDirectory(self, "選擇一個mysql轉(zhuǎn)換為gray")directory2 = a.getOpenFileNames(self,'Pick a folder')item = self.listWidget.currentItem();print(item)path = directory2[0][0] ##輸出的得到文件路徑path2 = path.replace('MYSQL','GRAY') #輸入到的文件路徑# print(directory2[0][0])# print('5')fi = open(path, "r", encoding="utf-8")fo = open(path2, "w", encoding="utf-8")# os.rename("%s.bak" % path2, path2)?# os.remove(path2)# os.rename("%s.bak" % path2, path2)ms ='是否將' + directory2[0][0]+'文件中的mysql 更換成gray'ms2 ='更改完畢'ms3 = '是否打開' + path2if QFileDialog.fileSelected :print(self.openMessageBox(ms))if self.openMessageBox(ms) == 1:for line in fi.readlines(): # 逐行遍歷# print(line)line = line.replace('MYSQL', 'GRAY') # 構(gòu)造(i)并替換# print(line)fo.write(line)self.openMessageBox(ms2)self.openMessageBox(ms3)# 保存按鈕被點擊# os.remove(fo)# os.rename("%s.bak" % fo, fo)# fo.close()# # 如果有范圍的選擇路徑則搜索該路徑下所有存在的文件,并將其名字加載都列表中# if directory:# for file_name in os.listdir(directory):# self.listWidget.addItem(file_name)# print('7')# print(file_name)# else:# print( QFileDialog.getOpenFileNames(self, 'Pick a folder')[0])# print('6')self.listWidget.addItem('你訪問文件問:'+ directory2[0][0])fi.close()fo.close()def click_event(self):# print("hello world")# 清除列表內(nèi)容self.listWidget.clear()# 創(chuàng)建文件夾選擇對話框a = QFileDialogdirectory = a.getExistingDirectory(self, "Pick a folder")# print('1')# print(type(directory))# print('2')print(directory) ## 文件 夾路徑directory2 = a.getOpenFileNames(self,'Pick a folder')a.clicked.connect(self.openMessageBox)path = directory2[0][0] ##輸出的得到文件路徑path2 = path.replace('.kjb','.xml') #輸入到的文件路徑# print(directory2[0][0])# print('5')fi = open(path, "r", encoding="utf-8")fo = open(path2, "w", encoding="utf-8")# os.rename("%s.bak" % path2, path2)?# os.remove(path2)# os.rename("%s.bak" % path2, path2)for line in fi.readlines(): #逐行遍歷# print(line)line=line.replace('MYSQL','GREY') #構(gòu)造(i)并替換# print(line)fo.write(line)# os.remove(fo)os.rename("%s.xml" % fo, fo)# fo.close()# # 如果有范圍的選擇路徑則搜索該路徑下所有存在的文件,并將其名字加載都列表中# if directory:# for file_name in os.listdir(directory):# self.listWidget.addItem(file_name)# print('7')# print(file_name)# else:# print( QFileDialog.getOpenFileNames(self, 'Pick a folder')[0])# print('6')self.listWidget.addItem('你訪問文件問:'+ directory2[0][0])fi.close()fo.close()# 創(chuàng)建實例
def main():# 創(chuàng)建新的實例應用app = QApplication(sys.argv)# 我們將表單設置為WoHeYunAppwidgets = WoHeYunApp()# 顯示我們的表單widgets.show()# 退出程序app.exec_()# 如果我們直接運行文件而不是導入它,則執(zhí)行
if __name__ == '__main__':main()
?
總結(jié)