ファイルをコピーネットワークの経路またはドライブpython OSX
-
29-09-2019 - |
質問
いて同様の質問に答えることができるのでし必要な事OSX.
コピーする方法は以下のようになファイルにネットワークパスを用いたPython
していきたいなと思っていますファイルを保存し、SMB共有ネットワーク.で実現できるのだろうか。
よろしく!
解決
ありすることができます。まず、マウントおSMB共有ネットワークのファイルシステムを呼び出すことによってコマンドからこのようなPython:
mount -t smbfs //user@server/sharename share
(うことができるので利用 subprocess
モジュール)です。 share
がディレクトリの名前のSMB共有ネットワークのまま取り付けることで、思いを書き込み可能な、ユーザーです。その後、コピーすることができるファイルを使用 shutil.copyfile
.最後に、国連のマウントのSMB共有ネットワーク:
umount share
おそらくこれが最高の作成コンテキストマネージャPythonるケアの取り付けunmounting:
from contextlib import contextmanager
import os
import shutil
import subprocess
@contextmanager
def mounted(remote_dir, local_dir):
local_dir = os.path.abspath(local_dir)
retcode = subprocess.call(["/sbin/mount", "-t", "smbfs", remote_dir, local_dir])
if retcode != 0:
raise OSError("mount operation failed")
try:
yield
finally:
retcode = subprocess.call(["/sbin/umount", local_dir])
if retcode != 0:
raise OSError("umount operation failed")
with mounted(remote_dir, local_dir):
shutil.copy(file_to_be_copied, local_dir)
上記のコードスニペットで確認しておりませんが、この仕事全般を除くから構文エラーがなかった予告).ることにも注意が mounted
にするため network_share_auth
キャ掲載し私の答えですとともにふたつの組み合わせによるチェックが何台ご利用の platform
モジュールを呼び出しに適しています。
所属していません StackOverflow