Подтвердить что ты не робот

Python: Почему os.getcwd() иногда сбой с OSError?

У меня есть эта программа, которая в один момент обращается к os.getcwd(), но несколько раз, в зависимости от того, куда программа ушла, прежде чем попасть в эту строку, она вылетает с сообщением "OSError: [Errno 2] Нет такого файла или каталог". Я не могу понять, что я могу сделать неправильно, а затем вызвать os.getcwd(). Нет аргументов, и всегда должен быть текущий рабочий каталог, верно?

4b9b3361

Ответ 1

Текущая директория может быть удалена другим процессом.

Ответ 2

Вы можете получить эту ошибку, если текущий рабочий каталог был удален. Программы, которые работают в определенном каталоге, автоматически не замечают, удаляется ли каталог; что касается программы, CWD - это всего лишь строка, по крайней мере до тех пор, пока вы не сделаете что-то вроде os.getcwd(), которое фактически обратится к этому пути в файловой системе. Таким образом, возможно иметь текущий каталог, который не существует.

Не зная больше о вашей программе и ее среде выполнения, я не мог сказать, действительно ли это происходит на самом деле.

Ответ 3

Вы получите эту ошибку, если ваш текущий каталог больше не существует (он удален).