Python 文件未找到错误,即使文件在同一目录中
Python File Not Found Error even though file is in same directory
我是 运行 一个 python 代码(文件名- images.py)读取-
import gzip
f = gzip.open('i1.gz','r')
但是它显示了 FileNotFoundError。
我的包含 images.py 的文件夹看起来像-
New Folder/
images.py
i1.gz
(...Some other files...)
你是运行来自New Folder
的脚本吗?
如果您在文件夹中,它应该可以工作:
c:\Data\Python\Projekty\Random\gzip_example>python load_gzip.py
但如果您 运行 来自具有文件夹名称的父文件夹的脚本,它会返回错误:
c:\Data\Python\Projekty\Random>python gzip_example\load_gzip.py
Traceback (most recent call last):
File "C:\Data\Python\Projekty\Random\gzip_example\load_gzip.py", line 2, in <module>
f = gzip.open('file.gz', 'r')
File "C:\Python\Python 3.8\lib\gzip.py", line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
File "C:\Python\Python 3.8\lib\gzip.py", line 173, in __init__
fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'file.gz'
通过执行以下操作检查脚本的当前工作目录:
import os
os.getcwd()
然后,将此与您的 i1.gz 绝对路径 进行比较。然后你应该可以看到是否有任何不一致。
问题是您不是 运行 来自 New Folder
的脚本。
无需硬编码,使用绝对路径即可轻松解决:
from os import path
file_path = path.abspath(__file__) # full path of your script
dir_path = path.dirname(file_path) # full path of the directory of your script
zip_file_path = path.join(dir_path,'i1.gz') # absolute zip file path
# and now you can open it
f = gzip.open(zip_file_path,'r')
我通常设置工作目录和处理文件的方式如下:
import os
pwd_path= os.path.dirname(os.path.abspath(__file__))
myfile = os.path.join(pwd_path, 'i1.gz')
我是 运行 一个 python 代码(文件名- images.py)读取-
import gzip
f = gzip.open('i1.gz','r')
但是它显示了 FileNotFoundError。 我的包含 images.py 的文件夹看起来像-
New Folder/
images.py
i1.gz
(...Some other files...)
你是运行来自New Folder
的脚本吗?
如果您在文件夹中,它应该可以工作:
c:\Data\Python\Projekty\Random\gzip_example>python load_gzip.py
但如果您 运行 来自具有文件夹名称的父文件夹的脚本,它会返回错误:
c:\Data\Python\Projekty\Random>python gzip_example\load_gzip.py
Traceback (most recent call last):
File "C:\Data\Python\Projekty\Random\gzip_example\load_gzip.py", line 2, in <module>
f = gzip.open('file.gz', 'r')
File "C:\Python\Python 3.8\lib\gzip.py", line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
File "C:\Python\Python 3.8\lib\gzip.py", line 173, in __init__
fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'file.gz'
通过执行以下操作检查脚本的当前工作目录:
import os
os.getcwd()
然后,将此与您的 i1.gz 绝对路径 进行比较。然后你应该可以看到是否有任何不一致。
问题是您不是 运行 来自 New Folder
的脚本。
无需硬编码,使用绝对路径即可轻松解决:
from os import path
file_path = path.abspath(__file__) # full path of your script
dir_path = path.dirname(file_path) # full path of the directory of your script
zip_file_path = path.join(dir_path,'i1.gz') # absolute zip file path
# and now you can open it
f = gzip.open(zip_file_path,'r')
我通常设置工作目录和处理文件的方式如下:
import os
pwd_path= os.path.dirname(os.path.abspath(__file__))
myfile = os.path.join(pwd_path, 'i1.gz')