Pyside QFileDialog.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'。我该怎么做呢?
1 个回答
1
看起来 QFileDialog.getOpenFileNames
会返回一个字符串列表,所以你只需要取第一个元素就可以了:
>>> logFile = [u'C:\\Temp\\!!!readme.txt']
>>> f = logFile[0]
>>> f
u'C:\\Temp\\!!!readme.txt'
这里的 u
表示这是一个unicode字符串。如果你真的不想要unicode字符串,可以直接用 str
:
>>> str(f)
'C:\\Temp\\!!!readme.txt'
补充:根据文档,它返回的是一个QString列表。所以你不能使用QString的方法,比如 .first()
。
补充2:哇,我没注意到你的 [0]
。可能我太晚了……所以,这有点奇怪。也许可以试试 (QFileDialog.getOpenFileNames(None, caption, directory, filter_mask))[0]
?