"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
被解释为换行符。您可以通过几种不同的方式解决此问题
使用原始字符串(请参阅下面的四段 here)以防止反斜杠被特殊处理(在大多数情况下)。
转义反斜杠本身,以便它们计算为文字反斜杠(将所有 "\"
变为 "\"
)
使用 os.path
库生成字符串,以便无论操作系统如何都使用正确的目录分隔符。
我想访问网络驱动器中的一些文件。 我的网络驱动器名为 "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
被解释为换行符。您可以通过几种不同的方式解决此问题
使用原始字符串(请参阅下面的四段 here)以防止反斜杠被特殊处理(在大多数情况下)。
转义反斜杠本身,以便它们计算为文字反斜杠(将所有
"\"
变为"\"
)使用
os.path
库生成字符串,以便无论操作系统如何都使用正确的目录分隔符。