python将文件复制到Windows上的网络位置而不映射驱动器

pab*_*blo 12 python networking copy file unc

我在Windows上的非交互式会话中运行python,因此我无法映射网络驱动器.

我在这里和通过谷歌研究的大部分内容都建议映射网络驱动器并以这种方式复制文件.

在Linux上我会用smbmount来促进这个,但不幸的是我正在使用的软件与windows有关.

是否有通过UNC路径与文件交互的选项?

cwa*_*ole 27

就个人而言,我从来没有遇到让Python简单识别的困难\\\\<server>\\path\\to\\directory\\.令人讨厌的部分是胜利中的每一个"\".路径,python中需要有2个.

  • ...除非你使用原始字符串,你应该这样做.:-) (23认同)
  • 如何使用凭据对该共享进行身份验证? (2认同)
  • @kindall 但请记住,原始字符串不会让您使用尾随反斜杠 - 这总是让我感到困惑。 (2认同)

Noa*_*nos 9

首先使用"NET USE"访问网络共享 - 没有Drive letter,如:

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

就像在这里(但没有指定驱动器号): 使用Python映射Windows驱动器的最佳方法是什么?

然后使用shutil.copy复制文件/目录,如:

import shutil
shutil.copy2(networkPath + 'sourceDir/sourceFile', 'destDir/destFile')
Run Code Online (Sandbox Code Playgroud)

如下所示: 如何在python中复制文件?