if else问题 菜鸟求救
txt文本值如下
username:zhagnsan
sex:1
if m.group(username):
username=m.group(username)
print username
以上可以获得值
如果
if m.group(username)!='':或者用 if not m.group('username').strip() 就会输出none
username=m.group(username)
print username
我想做的是如果有值就输出,如果没有值就给个默认的
刚用python写脚本 谢谢
[解决办法]
import re
lines = ['username:zhangshan age:18', 'username:zhangshan1', 'hostname:kaifa-pc2']
for t in lines:
print t
m = re.match('(?:username\s*:\s*(?P<username>\S+))?\s*(?:age\s*:\s*(?P<age>\S+))?', t)
if m:
if m.group('username'):
print "\tusername: ", m.group('username')
if m.group('age'):
print "\tage: ", m.group('age')
else:
print "\tage: ", 20