14

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

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

在 linux 上,我会使用 smbmount 来促进这一点,但不幸的是,我正在使用的软件与 Windows 相关联。

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

4

2 回答 2

31

就个人而言,让 Python 简单地识别\\\\<server>\\path\\to\\directory\\. 令人讨厌的部分是,对于胜利中的每个“\”。路径,python中需要有2个。

于 2011-03-07T20:02:51.700 回答
9

首先使用“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 中复制文件?

于 2011-03-17T21:53:59.543 回答