首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

if else有关问题 初学者

2013-01-20 
if else问题 菜鸟求救txt文本值如下username:zhagnsansex:1if m.group(username):usernamem.group(userna

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

热点排行