我在文件打开期间遇到以下问题: 使用PyQt QFileDialog我从用户获取文件的路径,我想阅读它
def read_file(self):
self.t_file = (QFileDialog.getOpenFileNames(self, 'Select File', '','*.txt'))
不幸的是,如果路径中有数字,我无法打开文件: 例如:
'E:\test\02_info\test.txt'
我试过
f1 = open(self.t_file,'r')
有人可以帮我从这种路径格式中读取文件吗? 提前谢谢。
编辑: 我收到以下错误:
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
f1 = open(self.t_file,'r')
IOError: [Errno 22] invalid mode ('r') or filename: 'E:\test\x02_info\test.txt'
答案 0 :(得分:1)
问题是由于您使用getOpenFileNames
(返回文件列表)而不是getOpenFileName
(返回单个文件)引起的。您似乎也错误地转换了返回值,但由于您没有显示相关代码,我将向您展示应该如何完成(假设您使用的是python2):
def read_file(self):
filename = QFileDialog.getOpenFileName(self, 'Select File', '','*.txt')
# convert to a python string
self.t_file = unicode(filename)