"net use" 在 Python 3 脚本中不起作用

"net use" didn't work in Python 3 script

我想访问网络驱动器中的一些文件。 我的网络驱动器名为 "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)

None 这些作品。错误是:"System error 67 has occurred. The network name cannot be found."

有人遇到过这种情况吗? 请指教

谢谢,

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

net use O:
etworkfile\Programs

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

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

  2. 转义反斜杠本身,以便它们计算为文字反斜杠(将所有 "\" 变为 "\"

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