繁体   English   中英

连接本地网络中的另一台计算机

[英]Connect another computer in local network

我正在尝试使用CMD.exe中的此命令通过python(子进程模块)连接本地网络中的另一台计算机

  • net use \\\\\\\\ip\\C$ password /user:username
  • copy D:\\file.txt \\\\ip\\C$

然后在python中如下所示。 但是当我尝试第二个命令时,我得到:

“ FileNotFoundError:[WinError 2]”

你遇到过同样的问题吗? 有什么办法可以解决?

import subprocess as sp

code = sp.call(r'net use \\<ip>\C$ <pass> /user:<username>')
print(code)
sp.call(r'copy D:\file.txt \\<ip>\C$')

问题在于, copy是内置的,而不是Windows中的实际命令。

这些Windows消息很糟糕,但是"FileNotFoundError: [WinError 2]"并不意味着无法访问源文件和目标文件之一(如果copy失败,您将获得带有显式文件名的普通Windows消息)。

在这里,这意味着该命令无法访问。

因此,您需要在子流程调用中添加shell=True才能访问内置shell=True

但是不要那样做(安全性问题,不可移植性),请改用shutil.copy

另外,使用check_call代替对第一个命令的call ,就好像net use失败了,其余的也会失败。 最好早日失败。

总结一下,这就是我要做的:

import shutil
import subprocess as sp
sp.check_call(['net','use',r'\\<ip>\C$','password','/user:<username>'])
shutil.copy(r'D:\file.txt,r'\\<ip>\C$')

您需要确保您有权添加文件。 更正共享目录的权限后,我已成功进行了测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM