• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
indirizzo sintassi per

Sintassi per indirizzo
#1
Ciao a tutti, sto scrivendo uno script su Raspberry Pi400, ho necessità di leggere un file presente su un PC Windows 10 Pro, da File Manager di Raspberry vedo il file che mi serve, ma se copio il suo indirizzo e lo scrivo in Python/tkinter non viene visto. 
La riga che uso ora:
Var = open("smb://192.168.1.200/users/AppData...../file.dat","r")

Penso che sia una questione di sintassi
PS: ho provato anche a raddoppiare le barre sia diritte che rovesciate senza risultati.
Grazie
Risposta
#2
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
Risposta
#3
Che faticaaaaa Certo che Linux e compagnia è fatta per smanettoni. Detto questo piccolo sfogo ringrazio vivamente per le solerti indicazioni.

Elio
Risposta
#4
Sono ancora io, ho sostituito l'IP con il nome PC, così se DHCP mi cambia indirizzo non mi trovo problemi.
Grazie grazie ancora
Elio
Risposta
  


Vai al forum:


Navigazione: 2 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect