Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQt文件浏览器-如何使用该文件?_Python_Pyqt5_Qt Designer_Pypdf2 - Fatal编程技术网

Python PyQt文件浏览器-如何使用该文件?

Python PyQt文件浏览器-如何使用该文件?,python,pyqt5,qt-designer,pypdf2,Python,Pyqt5,Qt Designer,Pypdf2,我正在用pyqt5编写我的第一个python应用程序。我的所有图标和主脚本工作正常,我已导入所有模块。现在我需要把一切联系起来。这是我最大的问题。当我点击图标时,它会打开文件浏览器;然后我点击.pdf文件并。。。在这里,我想让我的程序运行def dzileniestron() 但它毁了我的程序。我尝试了许多不同的解决方案,但仍然没有找到答案,以下是部分代码不配合: def openFile(self): self.fileName = QtWidgets.QFileDialog

我正在用pyqt5编写我的第一个python应用程序。我的所有图标和主脚本工作正常,我已导入所有模块。现在我需要把一切联系起来。这是我最大的问题。当我点击图标时,它会打开文件浏览器;然后我点击.pdf文件并。。。在这里,我想让我的程序运行def dzileniestron() 但它毁了我的程序。我尝试了许多不同的解决方案,但仍然没有找到答案,以下是部分代码不配合:

 def openFile(self):
        self.fileName = QtWidgets.QFileDialog.getOpenFileName(None, 'Wybierz plik')
        self.name = open(fileName, 'rb')
        self.dzielenieStron()

    def dzielenieStron(self):
        ReaderSplitPage = PyPDF2.PdfFileReader(self.name, 'rb')
        for page in range(ReaderSplitPage.getNumPages()):
            p = ReaderSplitPage.getPage(page)
            WriterSplitPage = PyPDF2.PdfFileWriter()
            WriterSplitPage.addPage(p)
            with open('page-%02d.pdf' % page, 'wb') as f:  # Tworzy nazwy plikow po kolei
                WriterSplitPage.write(f)
当然,所有的线路都在同一水平线上。我不知道为什么这里会改变…

我非常感谢你的建议

试试看:

def openFile(self):
    pathFileName, _ = QtWidgets.QFileDialog.getOpenFileName(None, 'Wybierz plik', '', 'pdf(*.pdf)')   
    print("pathFileName-`{}`, \n_-`{}`".format(pathFileName, _))
    if pathFileName:
        print("Wybrany plik: ", pathFileName)
        f = open(pathFileName, 'rb')
        self.dzielenieStron(f)

def dzielenieStron(self, f):   
    with f:
        ReaderSplitPage = PyPDF2.PdfFileReader(f, 'rb')
        for page in range(ReaderSplitPage.getNumPages()):
            p = ReaderSplitPage.getPage(page)
            WriterSplitPage = PyPDF2.PdfFileWriter()
            WriterSplitPage.addPage(p)
            with open('page-%02d.pdf' % page, 'wb') as f:  # Tworzy nazwy plikow po kolei
                WriterSplitPage.write(f)   

fileName
self.fileName
?谢谢。它起作用了。我试图理解您的代码“pathFileName”——“-它指的是最后一个值?”打印(“pathFileName-
{}
,\n-
{}
”。格式化(pathFileName,))-对我来说很复杂,它与字典一起工作吗?字符串格式化