Pythonを使用してWindows smb共有をMacにマウントする


3

MacでWindows smb共有をマウントし、そこにデータをコピーするPythonスクリプトを作成したいと思います。私は最初のハードルに陥っており、シェアのマウントに問題があります。本当に簡単なはずですが、動作させることはできません。私はインターネットをトロールし、いくつかの手がかりを持っています。

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

これは動作しませんが、mountコマンドにosモジュールを使用する別のソリューションを見ました:

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

しかし、これも機能しません。

また、マウントするリモート共有のローカルマウントポイントの作成についても読みました。これは本当ですか?そして、これについてどうすればいいですか?

洞察に感謝します

ではごきげんよう

ジョン


そのpythonプログラムはコマンドラインとまったく同じことを実行します
Mark

回答:


3

トニー・ウィリアムズの助けを借りて、私はそれを理解したと思います。私はWindowsのsmb共有Pythonスクリプトをマウントします:

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

これにより、foldernameというローカルフォルダーが存在するかどうかが確認され、存在しない場合は作成されます。次に、定義されたユーザー名/パスワードを使用して、smb共有をマウントします。


1

システム環境設定を使用してネットワークの設定を開始することをお勧めします。

システム環境設定/ネットワーク/ Wi-Fi(またはイーサネット)/詳細設定/ WINSに移動し、ワークグループをWindowsワークグループと一致するように設定します

次に、Finder / Go / Connect to Serverに移動します

smb:// servernameを使用して接続してみてください

接続できたら、自動化を試みることができます。


1
ご回答有難うございます。手動で行うのではなく、スクリプトで共有をマウントしてからアンマウントすることを望んでいました。再度、感謝します。
ジョンハリス14

0

最初に行うことは、コマンドラインで動作させることです。

コマンドラインで試してみるとどうなりますか?

最初に気づくかもしれないのは、mountがユーザー「user」のパスワードを要求する可能性が高いことです。これはPythonスクリプトでは簡単に実行できません。次に、「共有」はマウントポイントになる準備ができており、完全なパスを指定していないため、現在の作業ディレクトリであるとPythonが考えるディレクトリに存在する必要があります。

マウントではなく、mount_smbfsを使用します。このコマンドのマニュアルページを確認してください。次のようなコマンドラインがあります。

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

/ Volumes / Shareがディレクトリとして存在すると仮定します。


ご協力いただきありがとうございます。はい、ターミナルでスクリプトを実行でき、ローカル定義の共有にsmb共有をマウントします(/ Volumes / Shareではなく〜/ SharedFolderを使用しました)。ドメインに対して認証されているため、パスワードプロンプトが表示されません。mount_smbfsは、mount -t smbfsと同様に機能しました。再びありがとう
ジョンハリス14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.