PysideQFileDialog.getOpenFileNames如何将文件名和路径作为字符串获取,而不是作为元组获取



这行代码返回unicode中的文件名和路径,我不能使用它。如何只获取文件名和字符串?

代码:

logfile = QFileDialog.getOpenFileNames(None, caption, directory, filter_mask)[0]
print 'Selected Log file is :', str(logfile)
print logfile

输出:

Selected Log file is : [u'C:\Temp\!!!readme.txt']
[u'C:\Temp\!!!readme.txt']

帮助我需要日志文件为"C:\Temp\readme.txt"。我该怎么做?

看起来QFileDialog.getOpenFileNames返回一个字符串列表,所以您只需要获得第一个元素:

>>> logFile = [u'C:\Temp\!!!readme.txt']
>>> f = logFile[0]
>>> f
u'C:\Temp\!!!readme.txt'

CCD_ 2表示这是一个unicode字符串。如果你真的不想要unicode,只需使用str:

>>> str(f)
'C:\Temp\!!!readme.txt'

编辑:根据单据返回一个QString列表。因此,您不能使用像.first()这样的QString方法。

伊迪丝2:哇,我没看到你的[0]。对我来说一定太晚了……所以,这很奇怪。也许(QFileDialog.getOpenFileNames(None, caption, directory, filter_mask))[0]

最新更新