Python kullanarak Mac'te Windows smb paylaşımlarını bağlama


3

Mac'te Windows smb paylaşımını bağlayan ve ardından verileri kopyalayan bir python betiği oluşturmak istiyorum. İlk engelden düştüm, payımı arttırmakta sorun yaşıyorum. Gerçekten kolay olmalı ama çalışmasını sağlayamıyorum. İnterneti dolaştım ve birkaç ipucum var:

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

Bu işe yaramaz, ancak mount komutu için os modülünü kullanan başka bir çözüm gördüm:

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

Fakat bu da işe yaramıyor.

Ayrıca, uzaktan paylaşımın bağlanacağı yerel bir bağlantı noktası oluşturma hakkında da bilgiler okudum. Bu doğru mu? Peki bu konuda nasıl giderim?

Herhangi bir görüş için çok teşekkürler

Herşey gönlünce olsun

John


Bu python programı komut satırıyla tam olarak aynı
Mark

Yanıtlar:


3

Sanırım, Tony Williams'ın yardımıyla bunu çözdüm. Benim mount bir Windows smb paylaşım python betiği:

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

Bu, foldername adlı bir yerel klasörün var olup olmadığını kontrol eder ve yoksa oluşturur. Ardından, tanımlanmış bir kullanıcı adı / parola kullanarak smb paylaşımını ona bağlar.


1

Sistem Tercihleri ​​kullanarak ağ kurmaya başlamanızı öneririm.

Sistem Tercihleri ​​/ Ağ / Wi-Fi (veya Ethernet) / Gelişmiş / WINS'e gidin ve Çalışma Grubunuzu Windows Çalışma Grubu ile eşleşecek şekilde ayarlayın

Ardından Finder / Go / Sunucuya Bağlan

Smb: // servername kullanarak bağlanmayı deneyin

Bağlandıktan sonra otomatikleştirmeyi deneyebilirsiniz.


1
Cevabınız için teşekkürler. Komut dosyasının paylaşımı oluşturmasını ve sonra da çıkarmamı istedim, el ile yapmam için değil. Tekrar teşekkürler.
John Harris,

0

Yapılacak ilk şey, komut satırında çalışmayı denemek ve almaktır.

Komut satırında denediğinizde ne olur?

İlk fark edebileceğiniz şey, mount'un bir python betiğinde kolayca yapamayacağı "user" kullanıcısı için bir şifre sormasıdır. Bir sonraki adım, "paylaşım" ın bir bağlantı noktası olmaya hazır olması ve python'un geçerli çalışma dizini olduğunu düşündüğü dizinde mevcut olması gerektiği için var olması gerektiğidir.

Ben mount_smbfs yerine mount kullanırdım. Bu komut için kılavuz sayfasına bakın. Bunun gibi bir komut satırı olurdu:

mount smbfs //user:password@server.example.com/sharename /Volumes/Share

/ Volumes / Share dizini olarak bulunduğunu varsayarsak.


Yardımınız için teşekkürler. Evet, betiği terminalde çalıştırabilirim ve smb paylaşımını yerel tanımlı paylaşımda birleştirir (/ Volumes / Share yerine ~ / SharedFolder kullandım). Etki alanı için kimlik doğrulaması yaptığım için parola istemini alamıyorum. Mount_smbfs, mount -t smbfs ile çalıştı. Tekrar teşekkürler
John Harris
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.