如何在python中从路径中分离文件名(PyQt4.QtCore.QString)
如何使用Python将文件名与路径分开 我使用的是如何在python中从路径中分离文件名(PyQt4.QtCore.QString),python,pyqt4,Python,Pyqt4,如何使用Python将文件名与路径分开 我使用的是PyQt4,我的字符串不是Python字符串,而是PyQt4.QtCore.QString 我可以这样做: filename=my_path.split("/")[-1] 但是我认为分隔符是特定于操作系统的,而且我不能使用类似于OS.path.basename的东西,因为它只适用于原始python字符串,所以最好的选择是什么?在使用之前可以将QString转换为pythonstr。例如: filename_str = unicode(my_pa
PyQt4
,我的字符串不是Python字符串,而是PyQt4.QtCore.QString
我可以这样做:
filename=my_path.split("/")[-1]
但是我认为分隔符是特定于操作系统的,而且我不能使用类似于
OS.path.basename的东西,因为它只适用于原始python字符串,所以最好的选择是什么?在使用之前可以将QString
转换为pythonstr
。例如:
filename_str = unicode(my_path)
…然后使用标准Pythonos
函数获取文件名:
os.path.basename(filename_str)
或者,在单个步骤中:
os.path.basename(unicode(my_path))
注意:您可以通过使用或使用PyQt5完全避免此问题。通过这些更新,PyQt函数尽可能返回本机Python字符串(和其他变量),这样您就可以在不转换的情况下使用它们。这使事情变得简单了。重复问题请参见@PrakharAgrawal关于存储为基本python字符串的路径的问题。始终使用unicode
转换QString
,以避免使用非ascii字符编码错误。