gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:06:57 25 4
gpt4 key购买 nike

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

  • net use\\\\ip\C$ 密码/user:用户名
  • 复制 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]”并不意味着源文件和目标文件之一无法访问(如果复制失败,您将收到一 strip 有明确文件名的正常 Windows 消息)。

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

因此,您需要将 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$')

关于python - 连接本地网络中的另一台计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55337221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com