请教两个shell指令set与getopt-CSDN论坛

请教两个shell指令set与getopt-CSDN论坛,第1张

getopt 的作用是获取参数,参考:

http://www.tldp.org/LDP/abs/html/string-manipulation.html#GETOPTSIMPLE

http://www.tldp.org/LDP/abs/html/extmisc.html#GETOPTY

http://www.tldp.org/LDP/abs/html/internal.html#GETOPTSX

set 的作用是设置位置参数

-- 的作用是把元字符 * ? 等作为普通字符

试验:

set -f

echo $1

set -- -f

echo $1

1,使用getopt。getopt()优化当前的功能函数:

[html]

#!/usr/bin/python

# -*- coding: utf-8 -*-

#coding=utf-8

import os,sys

import getopt

print sys.argv

CDROW='/home/zhouqian/test'

def cdWalker(CDROW,cdfile):

result=[]

for root,dirs,files in os.walk(CDROW):

result.append("%s %s %s" %(root,dirs,files))

print root

open(cdfile,'w').write('\n'.join(result))

def usage():

print '''pycdc 使用方式:

python cdays-3-exercise-1.py -d cdc -k 中国火

#检索cdc中有没有中国火字样的目录,

'''

try:

opts,args=getopt.getopt(sys.argv[1:],'hd:e:k:')

except getopt.GetoptError:

usage()

sys.exit()

if len(opts)==0:

usage()

sys.exit()

c_path=''

name=''

for opt,arg in opts:

if opt in('-h','--help'):

usage()

sys.exit()

elif opt=='-e':

if os.path.exists(arg):#判断目标路径是否存在

# cdWalker(CDROW,arg)

print "记录光盘的位置是 %s" %arg

else:

print "不存在这样的目录"

elif opt=='-d':

c_path=arg

print c_path

cdWalker(CDROW,c_path)

elif opt=='-k':

if not c_path:

usage()

sys.exit()

else:

name=arg

for root,dirs,files in os.walk(c_path):

if root=='%s' %name:

print '您要找的文件在%s' %dirs

这是第一个题,大概做了2个小时吧,各种纠结啊,后面两个正在做。中间遇到的问题总结:

函式的利用,os.path.walk,python字符集,getopt模块的使用学习,os.path.exists()的利用,列表的对应关系等等

习题2 :关键词-----》序列号问题:

[html]

#!/usr/bin/python

#coding=utf-8

import sys

def collect(file):

result={}

for line in file.readlines():

left,right=line.split()

if result.has_key(right):

result[right].append(left)

else:

result[right]=[left]

return result

if __name__=="__main__":

print sys.argv

if len(sys.argv)==1:

print 'usage:\tpython value_keys.py test.txt'

else:

result=collect(open(sys.argv[1],'r'))

for (right,left) in result.items():

print "%d %s =>%s" %(len(left),right,left)

结果显示:

[html]

root@zhou:/home/zhouqian/python# py value_keys.py test.txt

ssss

2 key3 =>['6', '33']

3 key2 =>['1', '2', '45']

3 key1 =>['4', '5', '13']

遇到的问题总结:

split的用法:line.split()就是分开出左右两边的值,在默认的情况下是以一个空格或者多个空格为分割符的,

has_key()的用法:是查看字典数据类型中有没有这么一个关键字。上面可知result={}是初始化了一个字典的数据类型。

字典的一些用法:怎么定义,怎么赋值:result[right]=[left]或者result[right]=left,遍历字典中所用

项,result.items(),遍历字典的key值:result.keys(),遍历字典的value值:result.values()

[html]

>>>dict={'chen':25,'zhou':24,'xiao':35}

>>>dict.values()

[25, 35, 24]

>>>dict.keys()

['chen', 'xiao', 'zhou']

>>>dict.items()

[('chen', 25), ('xiao', 35), ('zhou', 24)]

公告: 还在担心鱼币不够用?买个终身会员,一劳永逸!

甲鱼2018-11-1            

[课后作业] 第001讲:我和Python的第一次亲密接触 | 课后测试题及答案

...23456..8322

小甲鱼 2013-9-27    25925188663    亿颗学徒的心1 小时前  

[课后作业] 第010讲:列表:一个打了激素的数组 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..1217

小甲鱼 2013-10-5    24337172896    亿颗学徒的心12 分钟前  

[课后作业] 第011讲:列表:一个打了激素的数组2 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..1098

小甲鱼 2013-10-8    21948154689    fishc_tigerfu半小时前  

[课后作业] 第012讲:列表:一个打了激素的数组3 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..1100

小甲鱼 2013-10-12    21984163848    Baddy_C6 分钟前  

[课后作业] 第013讲:元组:戴上了枷锁的列表 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..999

小甲鱼 2013-10-20    19963135589    头顶微凉19 分钟前  

[课后作业] 第014讲:字符串:各种奇葩的内置方法 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..930

小甲鱼 2013-10-21    18585168463    那位大人半小时前  

[课后作业] 第015讲:字符串:格式化 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..849

小甲鱼 2013-11-28    16976141313    迷茫的snail2 小时前  

[课后作业] 第016讲:序列!序列! | 课后测试题及答案 - [售价 10 鱼币]      ...23456..844

小甲鱼 2013-12-14    16865116423    manchesiteliuyu半小时前  

[课后作业] 第017讲:函数 - Python的乐高积木 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..945

小甲鱼 2013-12-17    18893141618    溪风ttt2 小时前  

[课后作业] 第018讲:函数:灵活即强大 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..861

小甲鱼 2014-1-7    17212126242    hzf5201 小时前  

[课后作业] 第019讲:函数:我的地盘听我的 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..835

小甲鱼 2014-1-8    16691129653    ushio00114 分钟前  

[课后作业] 第020讲:函数:内嵌函数和闭包 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..836

小甲鱼 2014-1-11    16712133470    @tao1 小时前  

[课后作业] 第021讲:函数:lambda表达式 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..731

小甲鱼 2014-3-16    14611107123    ranshi007半小时前  

[课后作业] 第022讲:函数:递归是神马 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..702

小甲鱼 2014-3-17    1403099695    skywing1682 小时前  

[课后作业] 第023、024讲:递归:这帮小兔崽子、汉诺塔 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..634

小甲鱼 2014-3-19    12660105956    Python..6 分钟前  

[课后作业] 第025讲:字典:当索引不好用时 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..617

小甲鱼 2014-3-21    1232591640    1532022658012 分钟前  

[课后作业] 第026讲:字典:当索引不好用时2 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..558

小甲鱼 2014-3-24    1115486744    huangwenjun1 小时前  

[课后作业] 第027讲:集合:在我的世界里,你就是唯一 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..503

小甲鱼 2014-3-27    1004094262    Lamedadada3 分钟前  

[课后作业] 第028讲:文件:因为懂你,所以永恒 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..621

小甲鱼 2014-3-30    12410109128    千屿王子1 小时前  

[课后作业] 第029讲:文件:一个任务 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..603

小甲鱼 2014-4-2    12045131223    千屿王子1 小时前  

[课后作业] 第030讲:文件系统:介绍一个高大上的东西 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..494

小甲鱼 2014-4-7    9874110873    _panky1 小时前  

[课后作业] 第031讲:永久存储:腌制一缸美味的泡菜 | 课后测试题及答案 - [售价 10 鱼币]     ...23456..423

小甲鱼 2014-4-13    844372294    ccc电池21 分钟前  

[课后作业] 第032讲:异常处理:你不可能总是对的 | 课后测试题及答案 - [售价 10 鱼币]     ...23456..360

小甲鱼 2014-4-26    719462931    小小老虎05271 小时前  

[课后作业] 第033讲:异常处理:你不可能总是对的2 | 课后测试题及答案 - [售价 10 鱼币]     ...23456..391

小甲鱼 2014-4-28    781961046    太复杂6 小时前  

[课后作业] 第034讲:丰富的else语句及简洁的with语句 | 课后测试题及答案 - [售价 10 鱼币]      ...23456..377

小甲鱼 2014-6-10    753960981    小小老虎05271 小时前  

[课后作业] 第035讲:图形用户界面入门:EasyGui | 课后测试题及答案- [售价 10 鱼币] ...23456..368

小甲鱼 2014-6-12    735985669    小米苏万事可爱3 小时前  

[课后作业] 第036讲:类和对象:给大家介绍对象 | 课后测试题及答案- [售价 10 鱼币] ...23456..485

小甲鱼 2014-6-16    969966162    1855100454910 分钟前  

[课后作业] 第037讲:类和对象:面向对象编程 | 课后测试题及答案- [售价 10 鱼币] ...23456..524

小甲鱼 2014-6-20    1046780971    瓜_子6 小时前  

[课后作业] 第038讲:类和对象:继承 | 课后测试题及答案- [售价 10 鱼币] ...23456..414

小甲鱼 2014-6-24    826158391    alenvan1 小时前  

[课后作业] 第039讲:类和对象:拾遗 | 课后测试题及答案- [售价 10 鱼币] ...23456..369

小甲鱼 2014-8-17    737856868    瓜_子6 小时前  

[课后作业] 第040讲:类和对象:一些相关的BIF | 课后测试题及答案- [售价 10 鱼币] ...23456..310

小甲鱼 2014-8-19    618953849    瓜_子1 小时前  

[课后作业] 第041讲:魔法方法:构造和析构 | 课后测试题及答案- [售价 10 鱼币] ...23456..329

小甲鱼 2014-8-21    657946433    icewin昨天 23:03  

[课后作业] 第042讲:魔法方法:算术运算 | 课后测试题及答案- [售价 10 鱼币] ...23456..298

小甲鱼 2014-8-27    594545059    卡比小飞龙8 小时前  

[课后作业] 第043讲:魔法方法:算术运算2 | 课后测试题及答案- [售价 10 鱼币] ...23456..265

小甲鱼 2014-8-29    529041524    刘又又1 小时前  

[课后作业] 第044讲:魔法方法:简单定制 | 课后测试题及答案- [售价 10 鱼币] ...23456..250

小甲鱼 2014-11-17    499949235    aliang123半小时前  

[课后作业] 第045讲:魔法方法:属性访问 | 课后测试题及答案- [售价 10 鱼币] ...23456..232

小甲鱼 2014-11-28    462138731    ablat1 小时前  

[课后作业] 第046讲:魔法方法:描述符(Property的原理) | 课后测试题及答案- [售价 10 鱼币] ...23456..205

小甲鱼 2014-12-12    408133198    千屿王子14 分钟前  

[课后作业] 第047讲:魔法方法:定制序列 | 课后测试题及答案- [售价 10 鱼币] ...23456..196

小甲鱼 2015-2-25    390932379    刘又又2 小时前  

[课后作业] 第048讲:魔法方法:迭代器 | 课后测试题及答案- [售价 10 鱼币] ...23456..187

小甲鱼 2015-4-20    373227878    回羊1 小时前  

[课后作业] 第049讲:乱入:生成器 | 课后测试题及答案- [售价 10 鱼币] ...23456..172

小甲鱼 2015-4-20    343326725    刘又又4 小时前  

[课后作业] 第050讲:模块:模块就是程序 | 课后测试题及答案- [售价 10 鱼币] ...23456..177

小甲鱼 2015-4-24    352631561    Tippy~7 小时前  

[课后作业] 第051讲:__name__属性、搜索路径和包 | 课后测试题及答案- [售价 10 鱼币] ...23456..171

小甲鱼 2015-10-23    341728409    瑾biu6 小时前  

[课后作业] 第052讲:像极客一样去思考 | 课后测试题及答案- [售价 10 鱼币] ...23456..150

小甲鱼 2015-10-24    299024191    瑾biu2 小时前  

[课后作业] 第053讲:论一只爬虫的自我修养 | 课后测试题及答案- [售价 10 鱼币] ...23456..240

小甲鱼 2015-11-9    479446740    Dida111111181 小时前  

[课后作业] 第054讲:论一只爬虫的自我修养2:实战 | 课后测试题及答案- [售价 10 鱼币] ...23456..186

小甲鱼 2015-11-18    370539577    白小贝6 小时前  

[课后作业] 第055讲:论一只爬虫的自我修养3:隐藏 | 课后测试题及答案- [售价 10 鱼币] ...23456..152

小甲鱼 2016-5-17    303150222    juncao50昨天 17:42  

上图为网站图,网站为:网页链接。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8324060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存