kann ich aus Python heraus erkennen, auf welchem Dateisystem eine Datei liegt?
Hintergrund der Frage: Ich möchte eine Datei auf einem Wechseldatenträger (USB-Stick) wiedererkennen, auch wenn der Wechseldatenträger anders eingehängt ist als zuvor:
Z. B. einmal als "/media/filme" und einmal als "/media/anna/filme" (Linux).
Oder einmal als "E:" und einmal als "F:" (Windows).
Ich möchte also für einen Dateinamen zwei Werte ermitteln:
1. UUID des Dateisystems (https://wiki.ubuntuusers.de/UUID/)
2. Dateiname innerhalb des Dateisystems
Pseudocode:
Code: Alles auswählen
import sys
def get_filesysteminfos(abs_filename):
# [...]
return fs_uuid, filesystem_mountpoint, filename_in_fs
filename=sys.argv[1]
fs_uuid, filesystem_mountpoint, filename_in_fs = get_filesysteminfos(filename)
print "File System: " + fs_uuid
print "mounted at: " + filesystem_mountpoint
print "filename in filesystem: " + filename_in_fs
print "absolute filename: " + filesystem_mountpoint + '/' + filename_in_fs
Code: Alles auswählen
$ test.py '/media/filme/Spielfilme/file2.mkv'
File System: 6a12a4d5-e9e6-4568-afcc-34c70b24a668
mounted at: /media/filme
filename in filesystem: Spielfilme/file1.mkv
absolute filename: /media/filme/Spielfilme/file1.mkv
Code: Alles auswählen
C:\> test.py 'E:\Spielfilme\file2.mkv'
File System: 6a12a4d5-e9e6-4568-afcc-34c70b24a668
mounted at: E:
filename in filesystem: Spielfilme\file1.mkv
absolute filename: E:\Spielfilme/file1.mkv
Vielen Dank!
Holger