Python 结构代码请求主机

Python 结构代码请求主机,python,django,fabric,Python,Django,Fabric,此代码不起作用,它表示: 找不到主机。请为连接指定(单个)主机字符串: 函数get\u hostname将不会被调用,除非您在fab参数中指定它,在下调用它,如果uuuu name\uuuu='\uuuu main\uuuu'将不会执行您认为它会执行的操作,因为fabfile与通常的python脚本不同 您需要做的是像这样调用您的fab文件:fab get\u hostname run\u cmd,要获得更一致的错误,您可以使用如下函数: from fabric.api import env,

此代码不起作用,它表示:

找不到主机。请为连接指定(单个)主机字符串:


函数
get\u hostname
将不会被调用,除非您在fab参数中指定它,在
下调用它,如果uuuu name\uuuu='\uuuu main\uuuu'
将不会执行您认为它会执行的操作,因为fabfile与通常的python脚本不同

您需要做的是像这样调用您的fab文件:
fab get\u hostname run\u cmd
,要获得更一致的错误,您可以使用如下函数:

from fabric.api import env, sudo
def get_hostname():
    env.hosts = ['user@host_ip']
    env.passwords = {'user@host_ip': 'password'}
    hostname = run_cmd('hostname')
    print hostname


def run_cmd(cmd):
    return sudo(cmd)


if __name__ == '__main__':
    get_hostname()

在每一个答案的左侧,否决票下方都有一个“勾号”。你需要为你的问题选择最合适的答案并打勾。这样也能帮助别人。欢迎你。继续分享知识实际上我必须在django中执行它,当用户输入creds时,我需要验证这些creds是否正确。我可以这样做吗?我正在使用paramiko获得该功能,它工作正常
from fabric.api import require


def run_cmd():
    require('hosts', provided_by=[get_hostname])