Non so se si può usare così come stai cercando di fare.
Esistono anche apposite librerie per gestire SMB direttamente da Python, ma sinceramente tra negoziazione delle varie versioni del protocollo, autenticazione, permessi ecc, la vedo complicata.
La soluzione più naturale che ti consiglierei è quella di
montare prima la condivisione in una directory.
il comando
mount infatti, è molto comodo e fa "credere" a Linux che una unità esterna (o una condivisione di rete) sia una directory del sistema. Aprendo quella cartella, vedrai il contenuto del disco o della condivisione.
Ad esempio... crei una directory (dove vuoi, ma per convenzione solitamente si fa dentro /mnt, che è lì apposta).
da Terminale:
Codice:
sudo mkdir /mnt/pc
poi montiamo la condivisione del pc "mappandola" dentro questa cartella
Codice:
sudo mount -t cifs //192.168.1.200/users/AppData...../ /mnt/pc -o username=NomeUtenteDelPC,password=PasswordUtenteDelPC
dove NomeUtenteDelPC = nome del tuo utente sul pc windows
PasswordUtenteDelPC = password per accedere a windows
ora dentro /mnt/pc vedrai i contenuti della cartella del pc
la riga dello script python ora potrà essere:
Codice:
Var = open("mnt/nas/file.dat","r")
ps: il mount dato così funziona, ma fino al reboot.
Per montare una condivisione a ogni avvio, occorre inserire una riga nel file /etc/fstab tipo
Codice:
//192.168.1.200/users/AppData...../ /mnt/pc cifs _netdev,username=NomeUtenteDelPC,password=PasswordUtenteDelPC,file_mode=0777,dir_mode=0777
i 777 sono per i permessi, 777 permette tutto a tutti, non il massimo della sicurezza. Se serve qualcosa di diverso, puoi cambiarli.
qui la guida sui permessi