Проверьте, является ли каталог корнем (файловой системы)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проверьте, является ли каталог корнем (файловой системы)

Сообщение Anonymous »

У меня есть скрипт, который ищет каталог, содержащий определенный файл, начиная с текущего каталога и поднимаясь вверх по дереву (представьте, что вы пытаетесь выяснить, где находится каталог .git).

Мой метод выглядит так:

Код: Выделить всё

def getDir(self,cwd):
path = os.path.abspath(cwd)
if not os.path.isdir(path):
raise RuntimeError("getDir should not be run on files")
if FILE in os.listdir(path):
return path
parent = os.path.join(path, os.path.pardir)
if os.access(parent, os.R_OK) and os.access(parent, os.X_OK):
return self.getDir(parent)
else
return None
Теперь проблема с этим методом заключается в том, что, если он не может найти каталог, он зацикливается (и в конечном итоге переполняет стек), потому что, очевидно, объединяется / и . . снова возвращает вам /. Я пробовал сравнивать путь с родительским или их представителями, но это не сработало (они всегда были разными). Мой обходной путь на данный момент — включить счетчик глубины в рекурсивный метод и остановиться на каком-то случайном максимальном пороге.

Поэтому у меня вопрос: существует ли надежный кроссплатформенный способ проверить, достиг ли я корня файловой системы?

Подробнее здесь: https://stackoverflow.com/questions/982 ... ystem-root
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»