Python не может перечислить мой каталог - PullRequest
2 голосов
/ 26 августа 2011

У меня есть этот код в моем приложении Bottle , чтобы вывести каталог, полный файлов:

[Post(name[:-3]) for name in os.listdir("posts")]

На моем локальном компьютере все нормально. Но на моем сервере я постоянно получаю эту ошибку:

OSError: [Errno 2] No such file or directory: 'posts'

os.listdir('.') и $ ls сообщает, что каталог существует. os.getcwd() сообщает, что я в родительском каталоге и должен иметь к нему доступ. glob.glob("posts/*.md") ничего не возвращает, поэтому я не думаю, что это проблема с listdir. Выполнение python через ssh и попытка того же кода успешны (т.е. я получаю список Post объектов).

Я что-то пропустил?

Редактировать

Спасибо за все советы. Источником проблемы была неверная конфигурация WSGI. С тех пор я перемонтировал приложение, используя правильные аргументы конфигурации, и все хорошо.

1 Ответ

0 голосов
/ 26 августа 2011

Первое, что приходит на ум, - это разрешения - убедитесь, что ваши разрешения установлены так, чтобы приложение имело по крайней мере доступ для чтения. listdir все равно скажет, что что-то существует, даже если оно не может прочитать это.

Следующая мысль - это выглядит как относительный путь - вы уверены, что относительный путь правильный? Я знаю, что вы нашли каталог через listdir('.') (так что это не должно иметь значения), но что произойдет, если вы на самом деле жестко закодируете полный путь к каталогу? (есть много раз, когда «это не имеет значения»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...