Как решить проблему с файлом, не найденным в скрипте Python?

Я создал программу, в которой мне нужны файлы из того каталога, в котором находится файл python. Файлы находятся в той же папке, где находится файл python.

Я не могу записать полный путь к файлу в скрипте python. Я использовал метод ./ в скрипте, но он дает ошибку

Пожалуйста, помогите мне решить проблему

вот мой код

'''

#код

       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)

'''

Расположение моей папки

Здесь img - это моя необходимая папка в YOUTUBE_VIDEO_DOWNLOADER.py, которая является моим файлом python

Моя ошибка сценария приведена ниже

       y"python "e:/python projects/YOUTUBE VIDEO DOWNLOADER/YOUTUBE_VIDEO_DOWNLOADER.py
Traceback (most recent call last):*emphasized text*
  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 ответ

Решение

Для решения этой проблемы я использую один прием: __file__ переменную (которая содержит путь к файлу сценария) в качестве пути ссылки, а затем запишите путь к файлу, который я хочу.

Если ваш каталог выглядит так:

my_dir
|> my_script.py
|> img/
   |> my_img.png

потом __file__ будет равно C:\\...\my_dir\my_script.py.

И твой образ будет os.path.join(os.path.dirname(__file__), 'img', 'my_img.png')

Другие вопросы по тегам