Monta le condivisioni Windows smb su un Mac usando Python

2

Vorrei creare uno script python che monti una condivisione smb di Windows su un Mac e quindi copi i dati su di esso. Sto cadendo al primo ostacolo, avendo problemi nel montare la quota. Dovrebbe essere davvero facile ma non riesco a farlo funzionare. Ho navigato su internet e ho alcuni indizi:

mount -t smbfs //user@server/sharename share

Questo non funziona ma ho visto un'altra soluzione che usa il modulo os per il comando mount:

import os
os.system("mount -t smbfs //user@server/sharename share")

Ma neanche questo funziona.

Ho anche letto sulla creazione di un mount point locale per la condivisione remota su cui montare. È vero? E come andrei su questo?

Grazie mille per eventuali approfondimenti

Tutto il meglio

Giovanni

    
posta John Harris 06.02.2014 - 09:33
fonte

3 risposte

3

Penso, con l'aiuto di Tony Williams, l'ho capito. Il mio montare uno script di script di condivisione Windows smb:

import os
directory = "/Users/user.name/foldername"
if not os.path.exists(directory): os.makedirs(directory)
os.system("mount_smbfs //user.name:password@server/servershare ~/foldername")

Questo controllerà se esiste una cartella locale chiamata foldername e la creerà se non lo fa. Quindi monterà la condivisione smb in essa utilizzando un nome utente / password definiti.

    
risposta data 06.02.2014 - 22:19
fonte
1

Ti suggerisco di iniziare a configurare la rete usando le Preferenze di Sistema.

Vai a Preferenze di sistema / Rete / Wi-Fi (o Ethernet) / Avanzate / WINS e imposta il tuo gruppo di lavoro in modo che corrisponda al gruppo di lavoro di Windows

Quindi vai su Finder / Vai / Connetti al server

Prova a connetterti usando smb: // nomeserver

Una volta che puoi connetterti puoi provare ad automatizzare.

    
risposta data 06.02.2014 - 10:58
fonte
0

La prima cosa da fare è provare a farlo funzionare sulla riga di comando.

Cosa succede quando lo provi sulla riga di comando?

La prima cosa che si potrebbe notare è che mount probabilmente chiederà la password per l'utente "user", cosa che non può facilmente fare in uno script python. La prossima è che "share" deve esistere pronto per essere un punto di mount ed esistere nella directory che Python pensa sia la directory di lavoro corrente poiché non hai fornito un percorso completo ad esso.

Vorrei usare mount_smbfs piuttosto che montare. Controlla la pagina del manuale per questo comando. Dovresti avere una riga di comando simile a questa:

mount smbfs //user:[email protected]/sharename /Volumes/Share

assumendo che / Volumi / Condividi esista come directory.

    
risposta data 06.02.2014 - 10:06
fonte

Leggi altre domande sui tag