-2

我想访问我的网络驱动器中的一些文件。我的网络驱动器称为“networkfile”。如果我只是在 Window 命令行上运行它,它就可以工作:net use \networkfile\Programs。

但是,当我将它放入 Python 脚本(我使用的是 Python3)时,它不起作用。我试过了:

a = os.system("net use O:\networkfile\Programs")

a = os.system("net use \networkfile\Programs")

a = os.system("net use \networkfile\Programs")

a = subprocess.run("net use O:\networkfile\Programs", shell=True, stdout=subprocess.PIPE)

这些都不起作用。错误是:“发生系统错误 67。找不到网络名称。”

有没有人经历过这种情况?请指教。

谢谢,

4

1 回答 1

0

您的字符串"net use O:\networkfile\Programs"正在由 python 解释器评估为:

net use O:
etworkfile\Programs

因为\n被解释为换行符。您可以通过几种不同的方式解决此问题

  1. 使用原始字符串(参见下面的四段)防止反斜杠被特殊处理(在大多数情况下)。

  2. 自己转义反斜杠,以便它们评估为文字反斜杠(全部"\"变为"\\"

  3. 使用os.path库生成字符串,因此无论操作系统如何,都使用正确的目录分隔符。

于 2017-11-28T19:00:29.063 回答