Monte Windows smb shares en una Mac usando Python

1

Me gustaría crear una secuencia de comandos de Python que monta un recurso compartido de Windows smb en una Mac y luego le copia los datos. Estoy cayendo en el primer obstáculo, teniendo problemas con el montaje de la acción. Debería ser realmente fácil pero no puedo hacerlo funcionar. He rastreado internet y tengo algunas pistas:

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

Esto no funciona pero he visto otra solución que usa el módulo os para el comando de montaje:

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

Pero esto tampoco funciona.

También he leído sobre la creación de un punto de montaje local para el montaje remoto a. ¿Es esto cierto? ¿Y cómo voy a hacer esto?

Muchas gracias por cualquier información

Todo lo mejor

John

    
pregunta John Harris 06.02.2014 - 09:33

3 respuestas

2

Creo que, con la ayuda de Tony Williams, lo he descubierto. Mi monte un script de Python para compartir smb de 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")

Esto comprobará si existe una carpeta local llamada nombre de carpeta y la creará si no existe. A continuación, montará el smb share en él con un nombre de usuario / contraseña definidos.

    
respondido por el John Harris 06.02.2014 - 22:19
1

Le sugeriría que comience a configurar la red utilizando las Preferencias del sistema.

Vaya a Preferencias del sistema / Red / Wi-Fi (o Ethernet) / Avanzado / WINS y configure su grupo de trabajo para que coincida con el grupo de trabajo de Windows

Luego ve a Finder / Go / Connect to Server

Intenta conectarte usando smb: // servername

Una vez que pueda conectarse, puede intentar automatizar.

    
respondido por el Milliways 06.02.2014 - 10:58
0

Lo primero que debes hacer es intentar que funcione en la línea de comandos.

¿Qué sucede cuando lo intentas en la línea de comandos?

Lo primero que puede notar es que es probable que mount solicite la contraseña para el "usuario", lo que no puede hacer fácilmente en un script de python. Lo siguiente es que "compartir" tiene que existir listo para ser un punto de montaje y existe en el directorio que Python cree que es el directorio de trabajo actual, ya que no le proporcionó una ruta completa.

Yo usaría mount_smbfs en lugar de mount. Compruebe la página de manual para este comando. Tendrías una línea de comando como esta:

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

suponiendo que / Volumes / Share existe como un directorio.

    
respondido por el Tony Williams 06.02.2014 - 10:06

Lea otras preguntas en las etiquetas