TypeError: invalid file: ('D:/xxx.txt', ' ') when using getOpenFileName()

TypeError: invalid file: ('D:/xxx.txt', ' ') when using getOpenFileName()

我在 python 3.4 和 Pyqt5 中使用 FileDialog 打开文件时遇到问题。

这是我的部分代码:

def SaveFile(self):
    filename = QtWidgets.QFileDialog.getOpenFileName()
    file = open(filename, 'w')

当我尝试执行此文件和 select 文件时,我得到:

TypeError: invalid file: ('D:/dsgdsg.txt', '')

从错误信息中可以看出,getOpenFileName returns a tuple。如果你想得到文件名(元组的第一个元素),你需要这样做:

filename = QtWidgets.QFileDialog.getOpenFileName()[0]

filename, _ = QtWidgets.QFileDialog.getOpenFileName()