args =[]
csstidy_opts = {
'--allow_html_in_templates':False,
'--compress_colors':False,
'--compress_font-weight':False,
'--discard_invalid_properties':False,
'--lowercase_s':false,
'--preserve_css':false,
'--remove_bslash':false,
'--remove_last_;':false,
'--silent':False,
'--sort_properties':false,
'--sort_selectors':False,
'--timestamp':False,
'--merge_selectors':2,
}
for key value in csstidy_opts.item():
args.append(key)
args.append(':')
args.append(value)
我想输出字符串如下:
“ - allow_html_in_templates = false --compress_colors = false ...”
如果我添加条件,该怎么做:
如果值为false,则键和值不会输出到字符串中(只输出ture键和其他键)
答案 0 :(得分:4)
我将如何做到这一点:
" ".join("%s=%s" % (k, v) for k, v in csstidy_opts.iteritems() if v is not False)
不确定仅输出“ture key”的含义是什么,但这不会输出输入字典中设置为False的内容。
编辑:
如果你需要将参数放入args中,你可以做一些非常相似的事情:
args = ["%s=%s" % (k, v) for k, v in csstidy_opts.iteritems() if v is not False]
答案 1 :(得分:0)
你可以这样做:
csstidy_opts = {
'--allow_html_in_templates':False,
'--compress_colors':False,
'--compress_font-weight':False,
'--discard_invalid_properties':False,
'--lowercase_s':False,
'--preserve_css':False,
'--remove_bslash':False,
'--remove_last_;':False,
'--silent':False,
'--sort_properties':False,
'--sort_selectors':False,
'--timestamp':False,
'--merge_selectors':2,
}
a = ""
for key,value in csstidy_opts.iteritems():
if value != False:
a+=key+'='+str(value)+' '
print a
输出
--merge_selectors=2
还要注意false必须为False