Если вам нужна атомарная модификация, отсоединение не будет работать.
Лучшим решением было бы создать новую временную символическую ссылку, а затем переименовать ее поверх существующей:
os.symlink(target, tmpLink)
os.rename(tmpLink, linkName)
Вы также можете убедиться, что оно обновлено правильно:
if os.path.realpath(linkName) == target:
# Symlink was updated
В соответствии с документацией для os.rename, однако, не может быть способа атомарно изменить символическую ссылку в Windows.В этом случае вы просто удалите и заново создадите.