通过python程序访问网络文件夹

时间:2017-06-26 12:56:37

标签: python python-3.x networking cmd windows-7

简要概述我正在做的事情:我正在尝试在网络目录中使用python自动执行某些pdf合并例程,这涉及在特定网络位置复制,删除和创建文件。如果我的语言不是很精确,请道歉。

我使用python 3.6在Windows 7上编码。该程序需要在其他机器上分发,因此本地和临时修复可能无济于事。我编写的代码功能齐全,适用于所有本地文件夹和文件,但是,现在我需要在网络上使用它,我在访问我需要的文件夹时遇到了一些困难。

以下是我的尝试:

os.system("pushd " + "\\" + "\\netWorkDrive\Reports")  
check_output("pushd " + "\\" + "\\netWorkDrive\Reports", shell=True)
只在cmd中输入时,

pushdpopd工作正常,但是当我通过python进行系统调用时,它们就不会通过。我发送了一个系统调用,它运行正常,但是当我“cd”当前目录时,它显示我仍然在我以前的目录中。如果通过cmd手动完成,一切都按预期工作。我搜索了这个问题,但最终没有发现任何有效/有用的东西。我真的很感激任何建议,如果我需要进一步澄清我的问题,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:1)

我不会以这种方式使用pushd / popd,我只会包含完整路径,包括我需要执行的任何文件操作的路径中的网络路径

但是如果我真的需要更改工作目录,我会用python执行此操作:

import os

original_working_directory = os.getcwd()

# do stuff

new_networked_directory = r'\\server\share\folder'
# change to the networked directory
os.chdir(new_networked_directory)

# do stuff

#changeback to original working directory
os.chdir(original_working_directory)

# do more stuff

不需要"临时驱动器"还是真的。