读书人

if else有关问题 初学者

发布时间: 2013-01-20 10:22:40 作者: rapoo

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

username:zhangshan age:18
username: zhangshan
age: 18
username:zhangshan1
username: zhangshan1
age: 20
hostname:kaifa-pc2
age: 20

读书人网 >perl python

热点推荐