繁体   English   中英

python命令行参数并将其作为用户名和密码在脚本中传递

[英]python command line argument and pass it as username and password in script

我正在尝试编写 python 脚本来登录我的一台服务器并进行一些检查。 为此,我想将我的 url、用户名和密码传递给脚本。 类似于 script.py 1.1.1.2 admin admin 。 我想在我的脚本中使用IPUSERNAMEPASSWORD 。我可以将它用作打印 IP 吗? 使用以下方法时出现凭据错误

>   File "/usr/lib/python2.6/site-packages/redfish/rest/v1.py", line
> 1064, in login
>     raise InvalidCredentialsError(delay) redfish.rest.v1.InvalidCredentialsError: 10

这是我的脚本

import sys
from _restobject import RestObject
IP = sys.argv[1]
USERNAME = sys.argv[2]
PASSWORD = sys.argv[3]


def ex3_change_bios_setting(restobj, bios_property, property_value, \
                                                              ):

    sys.stdout.write("\nEXAMPLE 3: Change a BIOS setting\n")
    instances = restobj.search_for_type("HpBios.")

    for instance in instances:
        body = {bios_property: property_value}
        response = restobj.rest_patch(instance["href"], body, \
                                            )
        restobj.error_handler(response)

if __name__ == "__main__":

    iLO_https_url = "https://"+ IP +""
    iLO_account = PASSWORD 
    iLO_password = USERNAME

    #Create a REST object
    REST_OBJ = RestObject(iLO_https_url, iLO_account, iLO_password)
    ex3_change_bios_setting(REST_OBJ, "InternalSDCardSlot", "Disabled")

您可以通过python中的+运算符将字符串与硬编码值连接起来。 试试这个代码。 它工作正常。

IP = sys.argv[1]
USERNAME = sys.argv[2]
PASSWORD = sys.argv[3]

iLO_https_url = "https://"+ IP +""
iLO_account = PASSWORD
iLO_password = USERNAME

暂无
暂无

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

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