问题
I had made a program where I require files from that directory where the python file is located. The files are located in the same folder where the python file located.
I can't write the full path of the file in the python script I used the ./ method in the script but it gives error
Please help me to solve the problem
here is my code
'''
#code
root=Tk()
root.title("SOHAM YOUTUBE VIDEO DOWNLOADER")
root["bg"]='#1F1F1F'
root.iconbitmap("./img/youtube_(1).ico")
root.geometry("900x680")
file =PhotoImage(file="./img/youtube-icon.png")
headingIcon=Label(root, image=file)
headingIcon.pack(side=TOP, pady=3)
'''
My folder location
Here img is my required folder in YOUTUBE_VEDIO_DOWNLOADER.py which is my python file
My script error is given below
y"python "e:/python projects/YOUTUBE VIDEO DOWNLOADER/YOUTUBE_VIDEO_DOWNLOADER.py
Traceback (most recent call last):
File "e:\python projects\YOUTUBE VIDEO DOWNLOADER\YOUTUBE_VIDEO_DOWNLOADER.py", line 215, in <module>
root.iconbitmap("./img/youtube_(1).ico")
File "C:\Users\soham\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 2073, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "./img/youtube_(1).ico" not defined
回答1:
Use the __file__
variable, then get its parent.
Example:
from pathlib import Path
my_dir = Path(__file__).parent
Later on, you can use my_dir
directly if the function understand Path
objects, or str()
it first:
# if root.iconbitmap accepts Path objects
root.iconbitmap(my_dir / "img/youtube_(1).ico")
#or
# if root.iconbitmap does not accept Path objects
icopath = str(my_dir / "img/youtube_(1).ico")
root.iconbitmap(icopath)
来源:https://stackoverflow.com/questions/64483395/how-to-solve-file-not-found-problem-in-python