Python Файл не найден Ошибка, даже если файл находится в том же каталоге - PullRequest
2 голосов
/ 01 апреля 2020

Я использую код python (filename- images.py), который читает-

    import gzip
    f = gzip.open('i1.gz','r')

, но показывает FileNotFoundError. Моя папка, содержащая images.py, выглядит как-

New Folder/
   images.py
   i1.gz
   (...Some other files...)

Ответы [ 3 ]

2 голосов
/ 01 апреля 2020

Проверьте текущий рабочий каталог скрипта, выполнив:

import os
os.getcwd()

Затем сравните это с вашим i1.gz абсолютный путь . Тогда вы сможете увидеть, есть ли какие-либо несоответствия.

2 голосов
/ 01 апреля 2020

Проблема в том, что вы не запускаете скрипт из New Folder. Вы можете легко решить это, используя абсолютный путь без жесткого кодирования:

from os import path
path = path.abspath(__file__) # full path of your script
dir_path = path.dirname(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')

1 голос
/ 01 апреля 2020

Запускаете ли вы скрипт из 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'
...