gpt4 book ai didi

用于 scp 文件的 Python 代码因名称解析问题而失败

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:14 25 4
gpt4 key购买 nike

我正在尝试将一个文件从我的本地 linux 机器 scp 到远程 linux 机器。这是我正在尝试的代码

filename = '/tmp/myfile'
remotepath = '/tmp'
command = 'nodeattr'
sproc = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
server = sproc.communicate()

print "connecting to",server[0]

p = subprocess.Popen(["scp", filename, "root@"+server[0]+":"+remotepath])
sts = p.wait()

当我运行上面的代码时,出现如下错误

connecting to abc.local

ssh: Could not resolve hostname abc.local : Name or service not known
lost connection

但是,当我在命令行上执行 ssh 时,它允许我连接到远程主机 abc.local 并且我没有遇到任何问题。但是,当我使用 subprocess 时,出现此错误。

知道我是否以错误的方式使用了子流程吗?

最佳答案

请注意错误消息中“abc.local”和以下冒号之间的换行符:您从第一个 Popen 返回的实际字符串是“abc.local\n”。您需要 .strip() 或以其他方式删除该换行符。

关于用于 scp 文件的 Python 代码因名称解析问题而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41143137/

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