Мне нужно проверить, есть ли на этой платформе поддержка символических ссылок или нет. Я получил этот код из тестового пакета Python.Как проверить символическую поддержку ссылок легко и без усилий?
_can_symlink = None
def can_symlink():
global _can_symlink
if _can_symlink is not None:
return _can_symlink
symlink_path = TESTFN + "can_symlink"
try:
os.symlink(TESTFN, symlink_path)
can = True
except (OSError, NotImplementedError, AttributeError):
can = False
else:
os.remove(symlink_path)
_can_symlink = can
return can
Это лучший способ? Я боюсь, что я получил исключение, но не потому, что у меня нет поддержки символических ссылок, но недостаточно для разрешения. Итак, выполнив дополнительную проверку на разрешение, достаточно ли этого кода? Или есть лучший способ сделать эту проверку?