皮革城网站建设方案,全球网站流量排名查询,办公家具网站模版,怎样做医疗保健网站ConfigParser ConfigParser包装了配置文件的读取和写入#xff0c;使得python程序可以更加轻松操作配置文件了。这里的配置文件是指.ini的那种文件#xff0c;基本格式如下 [section_a]
a_key1 a_value1
a_key2 a_value2[section_b]
b_key1 b_value1
b_key2 b_value2
b_k…ConfigParser ConfigParser包装了配置文件的读取和写入使得python程序可以更加轻松操作配置文件了。这里的配置文件是指.ini的那种文件基本格式如下 [section_a]
a_key1 a_value1
a_key2 a_value2[section_b]
b_key1 b_value1
b_key2 b_value2
b_key3 b_value3 将一个文件分隔成几个section每个section中又有很多键值对以这样的方式构建起配置文件。 *每个value在被读进程序的时候都是默认是str变量所以不用 在配置文件里加引号 ● 程序用法 import ConfigParsercf ConfigParser.ConfigParser()
cf.read(路径) #读取文件但是即便是没找到也不会报错的只是返回一个空列表########读配置########
cf.sections() #返回所有section组成的列表cf.options(section名字) #读取某个section中所有的option如返回[a_key1,a_key2]这样子cf.items() #返回[(a_key1,a_value1),...]这样子cf.get(section_a,a_key1) #读取某个value了########写配置########read某个文件相当于是把这个文件的内容加载进了内存里然后可以进行以下的一些操作把它修改掉cf.set(section_a,a_key3,a_value3) #增加一条新纪录这里键可以写已存在的那就是更新现有的value值cf.add_section(section_c)cf.write(open(路径,w)) #最后把内存中改完的东西固化到一个文件中去值得注意的是参数不是路径而是一个文件对象 ● ConfigParser的一些注意点 第一ConfigParser对象在使用read方法的时候如果目标文件不存在read方法不会报错而是返回一个空列表。所以对于配置文件事先就不存在的情况需要自己剔除并且解决。 第二ConfigParser对象内部维护了一个堆栈而read方法是不断叠加地将配置内容加载到这个堆栈上去的。所以说在遍历读取不同配置的时候如果有必要记得重新创建一个ConfigParser对象来保存信息。要不然之前被read进来的那些文件的信息会依旧在那里的。 【optparser】 optparser和ConfigParser并没有什么关系 。 但是当时在学的时候感觉他们长得挺像的沿袭了一下之前被单词时的习惯把长得像的都给归结到一起来。。然后刚好这两个内容又都不多就写在一篇里吧 optparser主要为脚本加上命令行参数的支持。一般脚本只有sys.argv那样的命令行参数而optparser可以有像netstat -ntlp这样的“杠”XX的命令功能就强大了很多。 首先还是看下主要怎么用 一般关于optparser的操作都是写在main函数里面毕竟外界传进来的参数要第一时间解析才能判断到底要做哪些工作。而这些操作首先是设置命令行参数 parser optparser.OptionParser(usageUsage:%prog [option]) #usage参数配置的字符串用于说明这个parser提供的命令行参数的用法。在参数为-h 或者--help的时候打印出相关的字符串。建议添加这个usagepaser.add_option(-t,--test,desttest_variable,defaultdefault,typestring,helpIt is a test option,actionstore)这句话是optparser最重要的设置命令行参数的语句。add_option的几个参数的意义分别是参数短标识参数长标识存放变量名默认值存放类型帮助信息存放动作。所有参数的值都是字符串。
其中值得一提的是type的默认值就是stringaction一般设成store在设置完几个参数之后就可以进行解析了需要来一句语句 (options,args) parser.parse_args() 之后所有被传递到脚本的命令行参数都会被存放到options.XXX这个变量里XXX是什么由之前设置的每个参数的dest决定。比如前面设置过了-t参数那么命令行-t后面的值会以字符串的形式被存放到options.tset_variable里面可以供后续程序使用了。 另外在设置参数的时候并没有规定哪些参数是必须的哪些是可选的哪些可以不要跟值只需要一个-X出现就行等等。这些我没仔细研究过不过之前我的处理方法是在解析完成后用参数值之前对获得到的所有参数做一个判断。看看是否有自己必须的参数没有传进来或者值不合法等等这样来做一个校验。做完校验之后如果发现校验未通过就要抛出错误或者处理错误了。parser对象自带一个error(s)的方法可以把错误信息s打印到屏幕上提示用户。如果觉得这样处理错误不够用还可以自己写一个OptParser类重载其中的error,exit等方法。 ● 如果想要有这个参数出现时表明一个True的情况并不需要这个参数跟什么值的时候可以选择的actionstore_true或者store_false或者store_const。在指定action等于这些值的时候注意不能同时指定type参数否则会报错。转载于:https://www.cnblogs.com/franknihao/p/6536594.html