pkatsou Δημοσ. 4 Ιουλίου 2023 Δημοσ. 4 Ιουλίου 2023 Έχω ένα φάκελο στα windows. Περιέχει υποφακελους ορισμένοι από τους οποίους είναι shortcuts. Προσπαθώ με τη os.walk μέθοδο να πάρω μια λίστα με τα αρχεία και τα paths τους από όλο το φάκελο. Διαβάζει μια χαρά όλα τα αρχεία που περιέχονται σε physical subfolders αλλά όχι τους shortcuts. Δοκίμασα με το argument followlinks=True αλλά επειδή είναι shortcut και όχι symlink δεν τους διαβάζει. Χρησιμοποιώντας το glob βγάζει ως path των shortcuts το path με κατάληξη .lnk. Αλλά ακόμα και αν χρησιμοποιήσω αυτό το path στην os.walk, δεν τους διαβάζει. Έχει κανείς κάποια ιδέα πως να διαβάσω τον shortcut folder και τα περιεχόμενα (χωρίς να πάρω manually τις actual διευθύνσεις των shortcuts) Ευχαριστώ
Λύση nemocode Δημοσ. 13 Ιουλίου 2023 Λύση Δημοσ. 13 Ιουλίου 2023 Η ανάγνωση των συντομεύσεων (αρχεία. Μπορείτε να χρησιμοποιήσετε τη βιβλιοθήκη pylnk στην Python για να εξαγάγετε πληροφορίες από αρχεία συντομεύσεων και να επιλύσετε τις διαδρομές προορισμού τους. import os import glob from pylnk import parse def process_folder(folder_path): for root, dirs, files in os.walk(folder_path): for file in files: file_path = os.path.join(root, file) if file.endswith('.lnk'): target_path = resolve_shortcut(file_path) if target_path: print("Shortcut:", file_path) print("Target:", target_path) else: print("File:", file_path) def resolve_shortcut(file_path): try: with open(file_path, 'rb') as f: lnk = parse(f) target_path = lnk.resolve().path return target_path except Exception as e: print("Error resolving shortcut:", file_path) return None folder_path = 'C:/path/to/your/folder' process_folder(folder_path) 1
pkatsou Δημοσ. 14 Ιουλίου 2023 Μέλος Δημοσ. 14 Ιουλίου 2023 Σε ευχαριστώ πολύ. Μου έλυσε τα χέρια η λύση.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα