简要概述我正在做的事情:我正在尝试在网络目录中使用python自动执行某些pdf合并例程,这涉及在特定网络位置复制,删除和创建文件。如果我的语言不是很精确,请道歉。
我使用python 3.6在Windows 7上编码。该程序需要在其他机器上分发,因此本地和临时修复可能无济于事。我编写的代码功能齐全,适用于所有本地文件夹和文件,但是,现在我需要在网络上使用它,我在访问我需要的文件夹时遇到了一些困难。
以下是我的尝试:
os.system("pushd " + "\\" + "\\netWorkDrive\Reports")
check_output("pushd " + "\\" + "\\netWorkDrive\Reports", shell=True)
只在cmd中输入时, pushd
和popd
工作正常,但是当我通过python进行系统调用时,它们就不会通过。我发送了一个系统调用,它运行正常,但是当我“cd”当前目录时,它显示我仍然在我以前的目录中。如果通过cmd手动完成,一切都按预期工作。我搜索了这个问题,但最终没有发现任何有效/有用的东西。我真的很感激任何建议,如果我需要进一步澄清我的问题,请告诉我。
谢谢!
答案 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
不需要"临时驱动器"还是真的。