如何解决 python 中找不到文件的问题?
How to solve file not found problem in 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_VEDIO_DOWNLOADER.py 中的所需文件夹,这是我的 python 文件
我的脚本错误如下
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
使用 __file__
变量,然后获取其父级。
示例:
from pathlib import Path
my_dir = Path(__file__).parent
稍后,如果函数理解 Path
对象,则可以直接使用 my_dir
,或者先使用 str()
:
# 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)
我制作了一个程序,我需要从 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_VEDIO_DOWNLOADER.py 中的所需文件夹,这是我的 python 文件
我的脚本错误如下
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
使用 __file__
变量,然后获取其父级。
示例:
from pathlib import Path
my_dir = Path(__file__).parent
稍后,如果函数理解 Path
对象,则可以直接使用 my_dir
,或者先使用 str()
:
# 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)