Monter des partages smb Windows sur un Mac en utilisant Python

Je voudrais créer un script python qui monte un partage smb Windows sur un Mac puis copy des données à elle. Je tombe au premier obstacle, ayant des problèmes avec le assembly de la part. Cela devrait être vraiment facile mais je ne peux pas le faire fonctionner. J'ai filé sur internet et j'ai quelques indices:

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

Cela ne fonctionne pas mais j'ai vu une autre solution qui utilise le module os pour la command mount:

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

Mais cela ne fonctionne pas non plus.

J'ai également lu sur la création d'un sharepoint assembly local pour le partage distant à monter. Est-ce vrai? Et comment puis-je y aller?

Un grand merci pour toutes les idées

Bonne chance

John

Je vous suggère de commencer à configurer le réseau en utilisant les Preferences Système.

Allez dans Preferences Système / Réseau / Wi-Fi (ou Ethernet) / Avancé / WINS et définissez votre groupe de travail pour qu'il corresponde au groupe de travail Windows

Rendez-vous ensuite sur Finder / Go / Connect to Server

Essayez de vous connecter en utilisant smb: // nom_server

Une fois que vous pouvez vous connecter, vous pouvez essayer d'automatiser.

Je pense qu'avec l'aide de Tony Williams, j'ai compris. Mon assembly un script python de partage smb Windows:

 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") 

Cela vérifiera si un dossier local appelé nom de directory existe et le crée si ce n'est pas le cas. Il montera ensuite le partage smb en utilisant un nom d'user / mot de passe défini.

La première chose à faire est d'essayer de le faire fonctionner à la command line.

Que se passe-t-il lorsque vous l'essayez à la command line?

La première chose que vous remarquerez peut-être est que mount risque de requestr le mot de passe pour l'user "user", ce qu'il ne peut pas faire facilement dans un script python. Ensuite, "share" doit exister prêt à être un sharepoint assembly et à exister dans le directory que Python considère comme le directory de travail en cours puisque vous ne lui avez pas donné de path complet.

J'utiliserais mount_smbfs plutôt que mount. Consultez la page de manuel pour cette command. Vous auriez une command line quelque chose comme ceci:

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

en supposant que / Volumes / Partage existe sous la forme d'un directory.