[Tkinter] How to get the name of a file only from a file path ? - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: [Tkinter] How to get the name of a file only from a file path ? (/thread-20063.html) |
How to get the name of a file only from a file path ? - DT2000 - Jul-25-2019 I have been reading and experimenting to find the proper way to remove the path of a file when selected using filedialog.askopenfile. When I select the file (mp3) from the folder I can use a print statement to check the value of the variable, which gives: <_io.TextIOWrapper name='C:/Users/DT2000/Documents/Python Projects/mp3 Player/music/test.mp3' mode='r' encoding='cp1252'>I would like to strip all of the path and trailing information so that only the test.mp3 will show when it is used in a Label for the song list. Currently I have: def audio_file(): global recorded_file recorded_file = filedialog.askopenfile(title='J.E.C. Software Solutions', filetypes=[('Image Files', ['.wav', '.mp3', '.vox'])]) now_playing.insert(0,recorded_file) print(recorded_file)I have been reading information about the os.path.spitext and also ntpath.split but have not seen how this can help my sistuation. A point in the right direction would be appreciated. RE: Stripping path before insert - Yoriz - Jul-25-2019 Using https://docs.python.org/3/library/pathlib.html from pathlib import Path filepath = 'C:/Users/DT2000/Documents/Python Projects/mp3 Player/music/test.mp3' path = Path(filepath) print(path.name)
RE: How to get the name of a file only from a file path ? - DT2000 - Jul-25-2019 I just found a way to do it but my attempt uses more lines of code. Code: def audio_file(): global recorded_file recorded_file = filedialog.askopenfile(title='J.E.C. Software Solutions', filetypes=[('Image Files', ['.wav', '.mp3', '.vox'])]) filepath = recorded_file path = Path(filepath) print(path.name)Using this I receive: expected str, bytes or os.PathLike object, not _io.TextIOWrapper RE: How to get the name of a file only from a file path ? - Yoriz - Jul-25-2019 What is filedialog.askopenfile Edit found a ref to it in tkinter If it is tkinter use askopenfilename() insteadhttp://effbot.org/tkinterbook/tkinter-file-dialogs.htm RE: How to get the name of a file only from a file path ? - DT2000 - Jul-25-2019 I have made the change and it is working properly, I appreciate the help. |