Hallo in die Runde,
wie erstellt man mit Python einen mount auf eine smb Freigabe um dann auf Dateien zuzugreifen ?
Welche Möglichkeiten gibt es da ?
Wie auf eine sbm - Freigabe zugreifen ?
Dann mounte nicht und verwende smbprotocol.
Ich denke sehr oft, Menschen verstehen die Antwort nicht.
Wenn du etwas _mounten_ möchtest, dann brauchst du das Betriebssystem.
Inklusive dessen Fähigkeit das zu tun. Nicht jedes kann das. Nicht bei jedem ist das gleich.
Willst du nicht, hast du gesagt.
Wenn du auf eine SMB Freigabe zugreifen willst ohne das zu tun, dann nutze smbclient aus der von mir verlinkten Bibliothek.
Deine Frage klingt, als müsste man da etwas mounten um auf die Dateien zuzugreifen.
Muss man nicht.
Wenn du etwas _mounten_ möchtest, dann brauchst du das Betriebssystem.
Inklusive dessen Fähigkeit das zu tun. Nicht jedes kann das. Nicht bei jedem ist das gleich.
Willst du nicht, hast du gesagt.
Wenn du auf eine SMB Freigabe zugreifen willst ohne das zu tun, dann nutze smbclient aus der von mir verlinkten Bibliothek.
Deine Frage klingt, als müsste man da etwas mounten um auf die Dateien zuzugreifen.
Muss man nicht.
- DeaD_EyE
- User
- Beiträge: 1266
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
Mount von Medien (kein Smaba):DL3AD hat geschrieben: Montag 29. September 2025, 06:12 ... ich denke manchmal einige können nicht richtig lesen
Ich suche eine Möglichkeit zum mounten ! - Warum und wieso ist doch total irrelevant!
Dafür benötigt man Root-Rechte. Nur root darf mounten. Bei Windows müsste ich erstmal selbst googeln.
Aber udisks2 kann das.
Code: Alles auswählen
udisksctl mount -b /dev/sdc1
udisksctl unmount -b /dev/sdc1
Code: Alles auswählen
import subprocess
def mount(blockdev):
"""
Sollte noch erweitert werden, damit udiskctl den Pfad ausgibt, der gemountet worden ist.
"""
subprocess.run(["udisksctl", "mount", "-b", blockdev])
def umount(blockdev):
subprocess.run(["udisksctl", "umount", "-b", blockdev])
Mount von smb shares:
Man kann das tool gio nutzen. Das ist aber von Gnome und hat ein paar Abhängigkeiten. Es sollte aber nicht der komplette Desktop installiert werden.
Code: Alles auswählen
gio mount --anonymous "smb://servername/share"
gio mount --unmount "smb://servername/share"
Code: Alles auswählen
import subprocess
def smb_mount(target, username="", workgroup="", password="", anonymous=False):
"""
Auch hier noch keine Ausgabe des Pfads, wo der smb-share eingehangen worden ist.
"""
if anonymous:
subprocess.run(["gio", "mount", "--anonymous", f"smb:{target}"])
else:
subprocess.run(["gio", "mount", f"smb:{target}"], encoding="utf8", input=f""{username}\n{workgroup}\n{password}\n"")
def smb_umount(target):
subprocess.run(["gio", "mount", "--unmount", f"smb:{target}"])
Möglicherweise gibt es auch Module, um das OS komplett zu umgehen.
Da ich kein Windows nutze und keine SMB-Freigaben habe, interessiert mich das nicht wirklich.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server