Каковы могут быть причины FileNotFoundError, если файл существует и на него ссылаются правильно? - PullRequest
0 голосов
/ 18 февраля 2019

Я создаю веб-сайт, на котором я выполняю файл python из php с помощью функции check_call ().

Этот скрипт python в конце алгоритма сохраняет изображение в подкаталоге /tmp на моем сервере (Ubuntu).Однако я получаю эту ошибку:

FileNotFoundError: [Errno 2] Нет такого файла или каталога: '/tmp/subdirectory/filename.png'

Изображениесохранен с методом PIL Image.save(), который создает новый файл, если файл недоступен (я уже проверил его).

У меня нет сомнений в правильности пути.Я проверил и дважды проверил, что я использую абсолютный путь, что подкаталог записан правильно и что он существует.

Если это может быть проблемой рабочих каталогов, для вашей информации: скрипт python сохраняется в каталоге /var/www/html.

Если это может быть проблемой с Image.save() методом PIL, обратите внимание, что я пытался сделать то же самое с open(filename, 'w').Та же ошибка.

Я везде искал похожие вопросы, но, похоже, ни один из них не подходит для моей проблемы.Я что-то наблюдаю?Любая помощь приветствуется.

1 Ответ

0 голосов
/ 18 февраля 2019

Возможно, у пользователя нет прав доступа к этому каталогу / файлу.

При использовании Python вы обычно работаете с Virtual Env .

.можно проверить, какого пользователя использует virtualenv, с помощью

import os

print "Env thinks the user is [%s]" % (os.getlogin())

и проверить фактического пользователя, выполняющего задачу, с помощью

import getpass

print "Effective user is [%s]" % (getpass.getuser())

Если они не совпадают, возможно, это может дать вам отправную точку.

Надеюсь, это поможет.

...