如何在 python (PyQt4.QtCore.QString) 中将文件名与路径分开

How to separate filename from path in python (PyQt4.QtCore.QString)

如何使用 Python 将文件名与路径分开?

我正在使用 PyQt4 并且我的字符串不是 Python 字符串而是 PyQt4.QtCore.QString

我可以这样做:

filename=my_path.split("/")[-1]

但我认为分隔符是 OS 特定的,而且我不能使用 os.path.basename 之类的东西,因为它只适用于原始 python 字符串,所以最好的选择是什么要做吗?

您可以在使用前将 QString 转换为 Python str。例如:

filename_str = unicode(my_path)

...然后使用标准 Python os 函数获取文件名:

os.path.basename(filename_str)

或者,一步到位:

os.path.basename(unicode(my_path))

请注意,您可以使用 newer PyQt4 API v2 或 PyQt5 来完全避免此问题。通过这些更新,PyQt 函数 return native Python strings (and other variables) 在可能的情况下,因此您可以在不转换的情况下使用它们。它使事情变得简单得多。