首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python变量替换

Python变量替换
EN

Stack Overflow用户
提问于 2016-03-17 20:42:22
回答 3查看 461关注 0票数 0

我有一个脚本,它调用我正在整理的linux来宾列表。以下是代码:

代码语言:javascript
复制
#!/usr/bin/python


guests = ['guest1','guest2','guest3','guest*']
def serverCheck(guestList)
    for g in guestList:
        server = AdminControl.completeObjectName('cell=tstenvironment,node=guest1,name=uatenvironment,type=Server,*')
        try:
            status = AdminControl.getAttribute(server, 'state')
            print g + status
        except:
            print "Error %s is down." % g
serverCheck(guests)

问题就在这一行上:

代码语言:javascript
复制
server = AdminControl.completeObjectName('cell=Afcutst,node=%s,name=afcuuat1,type=Server,*') % g

如何使用我的列表填充节点变量,同时仍然能够将括号内的信息传递给AdminControl函数?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-17 20:45:32

参数字符串本身是%操作符的参数,而不是函数调用的返回值。

代码语言:javascript
复制
server = AdminControl.completeObjectName(
    'cell=Afcutst,node=%s,name=afcuuat1,type=Server,*' % (g,)
)

通过窥视水晶球,Python 3.6将允许您编写

代码语言:javascript
复制
server = AdminControl.completeObjectName(
    f'cell=Afcutst,node={g},name=afcuuat1,type=Server,*'
)

将变量直接嵌入到特殊格式字符串文本中。

票数 1
EN

Stack Overflow用户

发布于 2016-03-17 21:03:13

你能这样试试吗?

代码语言:javascript
复制
AdminControl.completeObjectName('cell=tstenvironment,node=%s,name=uatenvironment,type=Server,*'%g)
票数 0
EN

Stack Overflow用户

发布于 2016-03-17 21:11:14

为了获得更多的可读性,我建议这样做,并使用相同的方式从变量格式化字符串(在这里,我选择了str.format)

代码语言:javascript
复制
guests = ['guest1','guest2','guest3','guest*']

def serverCheck(guestList)
    name_tpl = 'cell=tstenvironment,node={},name=uatenvironment,type=Server,*'

    for g in guestList:
        obj_name = name_tpl.format(g)
        server = AdminControl.completeObjectName(obj_name)
        try:
            status = AdminControl.getAttribute(server, 'state')
            print '{}: {}'.format(g, status)
        except:
            print 'Error {} is down'.format(g)

serverCheck(guests)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36071302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档