Python文件从包含数字

时间:2016-03-19 20:30:37

标签: python pyqt4 qfiledialog

我在文件打开期间遇到以下问题: 使用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'

1 个答案:

答案 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)