pyqt:在选择文件(python)后,我如何才能打印文件名?

pyqt:在选择文件(python)后,我如何才能打印文件名?,python,pyqt,Python,Pyqt,我已经创建了文件对话框来浏览文件。 选择文件后,我只想获取文件名!但我总是得到完整的路径。。这是我的代码: self.pushButton_2.clicked.connect(self.pushButton_2_handler) def pushButton_2_handler (self): self.open_dialog_box() def open_dialog_box(self): filename=QFileDialog.getOpenFileName()

我已经创建了文件对话框来浏览文件。 选择文件后,我只想获取文件名!但我总是得到完整的路径。。这是我的代码:

self.pushButton_2.clicked.connect(self.pushButton_2_handler)

def pushButton_2_handler (self):
    self.open_dialog_box()

def open_dialog_box(self):
    filename=QFileDialog.getOpenFileName()
    print(filename[0])
文件路径类似于blah\blah\blah\filename,所以您需要做的就是循环,直到找到一个\并使用它

for index in range(len(filename[0])-1, 0,-1):
    if filename[0][index] == "\\": 
        filename[0] = filename[0][index+1:]
        break
您还可以通过\拆分字符串,并使用最后一个字符串,如

filename[0] = filename[0].split("\\")[-1]
或者使用操作系统

您可以使用pathlib模块:


为什么最合理的方式排在最后?坦白地说,这应该是唯一的一个。当有一个库函数正是这样做的时候,就不需要使用循环和代码了。。。
import os
filename[0] = os.path.basename(filename[0])
>>> from pathlib import Path
>>> path = Path("C:/users/foobar/desktop/file.txt")
>>> path.name
'file.txt'
>>> path.stem
'file'
>>> path.suffix
'.txt'
>>>