前言

在pyqt中,有打开文件夹、打开特定文件名、打开多个文件、保存文件这四个功能,下面将详细阐述

1.打开文件夹

    '''打开文件'''
    def openFile(self):
    	#其中self指向自身,"读取文件夹"为标题名,"./"为打开时候的当前路径
        directory1 = QFileDialog.getExistingDirectory(self,
                                                      "选取文件夹",
                                                      "./")  # 起始路径
        print(directory1)

然后使用一个pushButton调用该函数

self.btn_openFile.clicked.connect(self.openFile)

运行结果:
在这里插入图片描述

2.打开特定文件名

    def readFile(self):
        #self指向自身,"Open File"为文件名,"./"为当前路径,最后为文件类型筛选器
        fname,ftype = QFileDialog.getOpenFileName(self, "Open File", "./", "All Files(*);;Wav(*.wav);;Txt (*.txt)")#如果添加一个内容则需要加两个分号
        # 该方法返回一个tuple,里面有两个内容,第一个是路径, 第二个是要打开文件的类型,所以用两个变量去接受
        # 如果用户主动关闭文件对话框,则返回值为空
        if fname[0]:  # 判断路径非空
            f = QFile(fname[0])  # 创建文件对象,不创建文件对象也不报错 也可以读文件和写文件
            # open()会自动返回一个文件对象
            f = open(fname[0], "r")  # 打开路径所对应的文件, "r"以只读的方式 也是默认的方式
            with f:
                data = f.read()
                print(data)
                #self.textEdit.setText(data)
            f.close()

调用函数

self.pushButton_readFile.clicked.connect(self.readFile)

运行结果:
在这里插入图片描述

3.打开多个文件

   def openFile(self):
        files = QFileDialog.getOpenFileNames(self,
                                                  "多文件选择",
                                                  "./",
                                                  "All Files (*);;Text Files (*.txt)")
        print(files, ok1)

运行结果:
在这里插入图片描述
控制台输出:
在这里插入图片描述

4.保存文件

    def openFile(self):
        fileName2, ok2 = QFileDialog.getSaveFileName(self,
                                                     "文件保存",
                                                     "./",
                                                     "All Files (*);;Text Files (*.txt)")

运行结果:
在这里插入图片描述

更详细的用法,可以看一下我用文件读取做的一个简单的demo:
用pyqt5做一个简易的音乐播放器

更多:
pyqt中QTimer的使用介绍以及简单用例

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐