Python копирует файлы в сетевое расположение в Windows без привязки диска - PullRequest
12 голосов
/ 07 марта 2011

Я использую python в неинтерактивном сеансе в Windows, и поэтому не могу подключить сетевой диск.

Большинство из того, что я исследовал здесь и через Google, каждый предлагает подключить сетевой диск и скопировать файлы.таким образом.

В Linux я бы упростил это с помощью smbmount, но, к сожалению, программное обеспечение, с которым я работаю, привязано к windows.

Есть ли варианты взаимодействия с файлами по пути UNC?

Ответы [ 2 ]

27 голосов
/ 07 марта 2011

Лично у меня никогда не было проблем с тем, чтобы Python просто распознал \\\\<server>\\path\\to\\directory\\. Раздражает то, что для каждого "\" в выигрыше. путь, в питоне должно быть 2.

9 голосов
/ 18 марта 2011

Сначала получите доступ к сетевому ресурсу с помощью «NET USE» - без буквы диска, например:

winCMD = 'NET USE ' + networkPath + ' /User:' + user + ' ' + password
subprocess.Popen(winCMD, stdout=subprocess.PIPE, shell=True)

Как здесь (но без указания буквы диска): Каков наилучший способ сопоставления дисков Windows с помощью Python?

Затем скопируйте файл / каталог с помощью shutil.copy, например:

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

Как здесь: Как скопировать файл в python?

...