在Windows上不映射驱动器复制文件到网络位置的Python方法
我在Windows上运行Python,但不是在交互模式下,所以我无法映射网络驱动器。
我在这里和谷歌上查了很多资料,大家都建议映射一个网络驱动器,然后通过这个方式来复制文件。
在Linux上,我可以用smbmount来实现这个功能,但不幸的是,我正在使用的软件只能在Windows上运行。
有没有什么办法可以通过UNC路径来操作文件呢?
2 个回答
11
首先,使用“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中复制文件?
31
我个人来说,从来没有遇到过让Python识别这个路径 \\\\<server>\\path\\to\\directory\\
的问题。让我觉得烦的是,在Windows路径中每出现一个反斜杠“\”,在Python里就得写两个“\\”。