2014-07-31 3 views
0

Как показано на кодах, я хотел напечатать имя файла. Он напечатал эту строкупечать имени файла в askopenfilename

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



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

    print file_name 

Как я могу получить имя файла с расширением? например, "Tonight.mp3"

ответ

0

Исключить вызов open:

filename = askopenfilename(filetypes=(("Music File", "*.mp3"), 
             ("Video files", "*.mpeg"))) 

Если вы хотите, только имя файла (без пути к каталогу), используйте os.path.basename:

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

я до сих пор не может получить/понимать os.path.basename ('a/b/c') часть – user3817491

+0

@ user3817491, 'a/b/c' - это пример пути, который может быть возвращен из' askopenfilename'. – falsetru

+0

@ user3817491, Другими словами, 'filename = os.path.basename (filename)' – falsetru

Смежные вопросы