Wie bekomme ich ein Symlink-Ziel in Python?

Mit Python muss ich überprüfen, ob Hunderte von Symlinks korrekt sind, und sie neu erstellen, wenn dies nicht der Fall ist. Was ich jetzt tue, ist, echte Pfade von dem zu vergleichen, was ich will und was ich habe, aber es ist langsam, weil es mit einem automount über NFS geht.

Andernfalls werde ich einen Unterprozess mit dem Befehl 'ls -l' ausführen und die Liste der zurückgegebenen Zeichenfolgen bearbeiten. Ich würde eine bessere Lösung vorziehen, indem ich eine Python-Bibliothek benutze ...

Edit1: Ich habe:link_name -> link_target und dannlink_target -> a_real_file. Was ich brauche, ist zu extrahierenlink_target vonlink_name, nichta_real_file. Es ist mir egal, ob die echte Datei nicht existiert.

Edit2: Vielleicht habe ich mich nicht richtig ausgedrückt. Was ich mit einem korrekten Symlink meine, ist ' ein Link, der auf einen vordefinierten Pfad verweist, auch wenn dieser nicht existiert '. Also muss ich das überprüfen:

link_name_1 -> target_1
link_name_2 -> target_2

Deshalb muss ich Ziele extrahieren, nicht die realen Pfade. Dann vergleiche ich sie mit einer Referenz (Wörterbuch). Meine Frage lautet also: Wie extrahiere ich den Zielpfad?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage