当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 64 篇帖子 ]  前往页数 上一页  1, 2, 3, 4, 5
作者 内容
61 楼 
 文章标题 : Re: ★★格式化输出,欢迎各种脚本或者语言
帖子发表于 : 2011-01-24 8:32 

注册: 2010-12-23 10:23
帖子: 120
送出感谢: 0 次
接收感谢: 4
lilydjwg 写道:
pengqian 写道:
最近在学python, 这个好懂哈~ 原来string 还有 startwith() 这种method 啊


你英文没学好啊,是 startswith()


原来是第三人称单数哈!


页首
 用户资料  
 
62 楼 
 文章标题 : Re: ★★格式化输出,欢迎各种脚本或者语言
帖子发表于 : 2011-01-24 9:53 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
pengqian 写道:
lilydjwg 写道:
pengqian 写道:
最近在学python, 这个好懂哈~ 原来string 还有 startwith() 这种method 啊


你英文没学好啊,是 startswith()


原来是第三人称单数哈!

不是吧。这样bt的函数。没用过正则?


_________________
● 鸣学


页首
 用户资料  
 
63 楼 
 文章标题 : Re: [二星]格式化输出,欢迎各种脚本或者语言
帖子发表于 : 2013-05-04 16:10 

注册: 2013-04-26 14:31
帖子: 1
系统: ubuntu10.10
送出感谢: 0 次
接收感谢: 0 次
刚学python,就尝试下~
代码:
  1 #!/usr/bin/python
  2 '''Version2.0
  3
  4 This is to solve the CONTACT file read'''
  5 filename='CONTACT'
  6 CONTACT=file(filename)
  7 content=CONTACT.read()
  8 CONTACT.close()
  9 print 10*'*',filename,10*'*'
 10 print content
 11 print 10*'*',filename,10*'*'
 12 CONTACTlist=content.split('#CONTACT')
 13 for item in CONTACTlist:
 14         lines=item.split('\n')#split by ENTER
 15         name=''
 16         phone=''
 17         for line in lines:
 18                 if line.startswith('NAME'):
 19                         name=line[5:]
 20                 elif line.startswith('PHONE'):
 21                         phone=line[6:]
 22         #end for
 23         if (name!='')and(phone!=''):
 24                 print 'name:%s , phone:%s' % (name,phone)
 25 #end for


页首
 用户资料  
 
64 楼 
 文章标题 : Re: [二星]格式化输出,欢迎各种脚本或者语言
帖子发表于 : 2013-06-20 16:09 

注册: 2013-03-28 11:42
帖子: 4
系统: ubuntu 10.04
送出感谢: 0 次
接收感谢: 0 次
简洁点的写法如下,通过awk自带的参数就能实现:
代码:
#!/bin/sh
awk -F'=' 'BEGIN{i=0}$1=="#CONTACT"{i++}$1=="NAME"{b[i]=$2}$1=="PHONE"{a[i]=$2}END{for(i in a){if (b[i] && p[i]) printf "%s, %s\n",b[i],a[i]}}' $1


内容多点,但是易懂的方法如下:
代码:
#!/bin/sh
i=0
nm=""
ph=""
touch zc.txt
while read line;do
pdzf=`echo $line|awk -F'=' '{print $1}'`
pdfz=`echo $line|awk -F'=' '{print $2}'`
if [ "$pdzf" = "#CONTACT" ];then
nm=""
ph=""
fi
if [ "$pdzf" = "NAME" ];then
    nm=`printf "%s" $pdfz`
fi
if [ "$pdzf" = "PHONE" ];then
    ph=`printf  ",%s\n" $pdfz`
    i=1
fi
if [ "$pdzf" = "ICON" ];then
if [ $ph ];then
echo ${nm}${ph}>>zc.txt
fi
fi
done <$1
cat zc.txt
rm -rf zc.txt


这两者的实际思想是一样的,楼主其实实现这个功能应该是完全木有问题的,我只是单纯的写出来了。。。 :em11
运行命令为:
代码:
sudo sh 程序文件名 信息文件名


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 64 篇帖子 ]  前往页数 上一页  1, 2, 3, 4, 5

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译