Python 如何打印askopenfilename返回的文件名?

Python 如何打印askopenfilename返回的文件名?,python,python-2.7,tkinter,Python,Python 2.7,Tkinter,正如代码所示,我想打印文件名 def callback(): file_name = open(askopenfilename(filetypes = (("Music File", "*.mp3") ,("Video files", "*.mpeg")

正如代码所示,我想打印文件名

def callback():
    file_name = open(askopenfilename(filetypes = (("Music File", "*.mp3")
                                                         ,("Video files", "*.mpeg")
                                                        )),'r')

    print file_name
它打印了这行

<open file u'C:/Users/121794/Desktop/New folder (2)/Tonight.mp3', mode 'r' at 0x01D63C80>


我怎样才能得到文件名及其扩展名?e、 g“今晚.mp3”

排除对
打开的调用

filename = askopenfilename(filetypes=(("Music File", "*.mp3"),
                                      ("Video files", "*.mpeg")))
如果只需要文件名(不包括目录路径),请使用
os.path.basename

>>> import os
>>> os.path.basename('a/b/c')
'c'

我仍然无法获取/理解os.path.basename('a/b/c')part@user3817491,
a/b/c
是可以从
askopenfilename
@user3817491返回的示例路径,换句话说,
filename=os.path.basename(filename)
,而这可能适用于给定的示例,如果您想要可在不同操作系统上工作的可移植代码,最好只使用内置的
os.path
pathlib
函数。您好,欢迎使用堆栈溢出!虽然这段代码可能会回答这个问题,但它是如何或为什么解决这个问题的,这将真正有助于提高您的帖子的质量。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。
## python 3.x
f = file_name.split("/")
print (f[-1])