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

时间:2011-03-07 19:55:11

标签: python file networking copy unc

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

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

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

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

2 个答案:

答案 0 :(得分:27)

就个人而言,我从未遇到让Python简单识别\\\\<server>\\path\\to\\directory\\的困难。烦人的部分是每个&#34; \&#34;在胜利中。路径,python中需要有2个。

答案 1 :(得分:9)

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

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

如同在这里(但没有指定驱动器号): What is the best way to map windows drives using Python?

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

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

如在这里: How do I copy a file in python?