Seite 1 von 1

remotedesktopverbindung: auf durchgereichten USB-Stick zugreifen ...

Verfasst: Samstag 19. Oktober 2024, 09:32
von drnicolas
Ich schätze, bei diesem Projekt müssen alle passen. ich frage aber mal trotzdem:

Ich möchte mit einem Python-Programm einen USB-Stick durchsuchen, den inhalt analysieren und Dateien kopieren.

Dazu müsste ich einen Laufwerksbuchstaben herausfinden. Wie geht das ?

Jetzt kommt's:
Das ganze soll auf einem remote-Computer unter Windows laufen.

Aktuell reiche ich den USB-Stick an den remote-Computer durch und sehe dann diesen Stick - allerdings unter 'Dieser PC' und als Eintrag 'E auf BACKOFFICE1'
und nicht als Laufwerksbuchstaben.

geht sowas überhaupt?

Alternativ könnte ich den Stick auf einem bestimmten Rechner freigeben und über eine netzwerkfreigabe zugreifen.

Re: remotedesktopverbindung: auf durchgereichten USB-Stick zugreifen ...

Verfasst: Samstag 19. Oktober 2024, 10:00
von Sirius3
Das ist ja keine Pythonfrage sondern eher eine Windows Frage.
Du musst herausfinden unter welchem UNC-Pfad dein Laufwerk erscheint.
Damit kannst du ganz normal wie auf alle anderen Dateien zugreifen.

Code: Alles auswählen

from pathlib import Path
drive_e = Path("//TSCLIENT/E")
for path in drive_e:
    print(path)
Wenn Du Informationen zu Shares möchtest, kannst Du Dir win32net.NetShareEnum anschauen.

Re: remotedesktopverbindung: auf durchgereichten USB-Stick zugreifen ...

Verfasst: Sonntag 20. Oktober 2024, 14:16
von DeaD_EyE
https://stackoverflow.com/questions/122 ... ble-drives

Ich würde psutil verwenden und um pywin32 einen sehr großen Bogen machen, sofern das möglich ist.
Beispiel für Windows und Linux (vorsicht, match-case erst ab 3.10):

Code: Alles auswählen

import os
import platform
from pathlib import Path


def get_removeable_drives() -> list[Path]:
    """
    Return all 'removeable' drives as Path in a list.
    """    
    match platform.system():
        case "Windows":
            import psutil
            return [
                Path(drive.mountpoint)
                for drive in psutil.disk_partitions()
                if "removable" in drive.opts
            ]
        case "Linux":
            return [
                path
                for path in Path("/run/media", os.getlogin()).iterdir()
                if path.is_mount()
            ]
        case _ as system:
            raise RuntimeError(f"{system} is not supported")


print(get_removeable_drives())

PS: Den Import von psutil kannst/solltest du auch nach oben packen. Ich mache da so, wenn es Funktionen sind, die von mehreren OS unterstützt werden sollen und unterschiedliche Module benötigt werden. Wenn ich den Code so unter Linux ausführe, wird psutil erst gar nicht importiert. Wenn man den Code so unter Windows ausführen würde und psutil nicht installiert ist, kommt est erst beim Aufruf der Funktion zu einem ImportError. Nicht jeder mag das.

Re: remotedesktopverbindung: auf durchgereichten USB-Stick zugreifen ...

Verfasst: Dienstag 29. Oktober 2024, 02:43
von michaelmayer
1Laufwerksbuchstaben über Python ermitteln:

Verwende das psutil-Modul, um angeschlossene Laufwerke zu finden.
Beispiel:

Code: Alles auswählen

import psutil

def finde_usb_laufwerk():
    for partition in psutil.disk_partitions():
        if 'removable' in partition.opts:
            print(f"Gefunden: {partition.device}")

finde_usb_laufwerk()
2. Zugriff über Netzwerkfreigabe:

Gib den USB-Stick auf dem Remote-PC frei.
Greife dann per UNC-Pfad zu, z. B. \\BACKOFFICE1\E$\.

Code: Alles auswählen

import shutil

quelle = r"\\BACKOFFICE1\E$\Ordner\Datei.txt"
ziel = r"C:\lokal\Datei.txt"

shutil.copy(quelle, ziel)
Fazit: Beide Ansätze sind möglich. Netzwerkfreigabe könnte zuverlässiger sein, wenn der Stick keinen festen Laufwerksbuchstaben ha

Re: remotedesktopverbindung: auf durchgereichten USB-Stick zugreifen ...

Verfasst: Dienstag 29. Oktober 2024, 09:52
von __blackjack__
@michaelmayer Willkommen im Forum. Und bitte überlegen ob *Du* tatsächlich hier mit anderen Menschen kommunizieren möchtest, statt Chat-GPT-Antworten hier rein zu kippen, die noch mal wiederholen was bereits von echten Menschen mit Expertise geschrieben wurde. ☹️