web-dev-qa-db-ja.com

pythonドライブをマッピングせずにWindows上のネットワークの場所にファイルをコピーする

Windowsの非インタラクティブセッションでpythonを実行しているため、ネットワークドライブをマップできません。

私がこことグーグルを通して研究したことのほとんどは、ネットワークドライブをマッピングしてファイルをそのようにコピーすることを提案しています。

Linuxでは、smbmountを使用してこれを容易にしますが、残念ながら、使用しているソフトウェアはWindowsに関連付けられています。

UNCパスを介してファイルを操作するためのオプションはありますか?

12
pablo

個人的には、Pythonを単純に認識するために\\\\<server>\\path\\to\\directory\\。厄介なのは、勝利のすべての「\」についてです。パス、Pythonには2が必要です。

27
cwallenpoole

まず、「Net Use」を使用して、次のようなドライブ文字なしでネットワーク共有にアクセスします。

winCMD = 'Net Use ' + networkPath + ' /User:' + user + ' ' + password
subprocess.Popen(winCMD, stdout=subprocess.PIPE, Shell=True)

このように(ただし、ドライブ文字を指定せずに): Pythonを使用してWindowsドライブをマップする最良の方法は何ですか?

次に、次のように、shutil.copyを使用してファイル/ディレクトリをコピーします。

import shutil
shutil.copy2(networkPath + 'sourceDir/sourceFile', 'destDir/destFile')

ここにあるように Pythonでファイルをコピーするにはどうすればよいですか?

9
Noam Manos