Re: Liens symboliques sous Windows

Liste des GroupesRevenir à fcl python 
Sujet : Re: Liens symboliques sous Windows
De : alain (at) *nospam* universite-de-strasbourg.fr.invalid (Alain Ketterlin)
Groupes : fr.comp.lang.python
Date : 17. Nov 2021, 22:19:24
Autres entêtes
Organisation : Université de Strasbourg
Message-ID : <871r3eilgz.fsf@universite-de-strasbourg.fr.invalid>
References : 1
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
ast <ast@invalid> writes:

Il me semble que les liens symboliques de Windows ne sont
pas bien reconnus par les modules os et pathlib.
Voyez:
>
from pathlib import Path
p2 = Path('C:/Users/jm/desktop/json.txt - Raccourci.lnk')
p2
WindowsPath('C:/Users/jm/desktop/json.txt - Raccourci.lnk')
p2.exists()
True
p2.is_file()
True
p2.is_symlink()
False

D'après le nom du fichier, je pense qu'il s'agit d'un "shortcut"
Windows, ce qui n'est pas la même chose qu'un lien symbolique : un
shortcut est un fichier normal (c'est à l'application de l'interpréter
comme contenant le nom d'un autre fichier), alors qu'un lien symbolique
est résolu par les appels système et est donc transparent pour les
applications.

Sur cette dernière commande, j'attendais True et pour le
p2.is_file j'attendais plutôt False

Pour Path.is_file() (de pathlib) la réponse concerne la cible du lien
symbolique si ton chemin est celui d'un lien symbolique, donc impossible
d'utiliser cela pour faire la distinction.

Pour os.is_file() il y a un paramètre "follow_symlinks" qui doit être
placé explcitement à False pour distinguer les fichiers "normaux"
(regular) des liens vers des fichiers normaux. Apparemment pathlib n'a
pas repris cette possibilité et utilise la version par défaut
(follow_symlinks=True).

Avec la lib os, c'est pareil

Oui, je pense que c'est elle qui fait le travail.

-- Alain.

Date Sujet#  Auteur
17 Nov 21 * Liens symboliques sous Windows3ast
17 Nov 21 `* Re: Liens symboliques sous Windows2Alain Ketterlin
19 Nov 21  `- Re: Liens symboliques sous Windows1ast

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal