我正在寻找一种方法,在值为 null 或 None 时从根本上去除额外的句点。如果 myvar 不存在,它应该打印 abc.xyz
myvar="def"
print "abc.{0}.xyz".format(myvar)
abc.def.xyz
myvar=""
print "abc.{0}.xyz".format(myvar)
abc..xyz
请您参考如下方法:
如果一个字符存在于原始字符串中,无论在调用 format 之后,它都将被包含在内。需要做的是修改输入,使其在预期值出现时包含任何额外字符。考虑以下内容(作为演示封装在函数中):
def demo(value):
print("abc.{0}xyz".format(value + '.' if value else ''))
示例用法:
>>> demo('def')
abc.def.xyz
>>> demo('')
abc.xyz
