一、配置文件读取的使用
1、 使用模块ConfigParser。实例如下:
conf = ConfigParser() conf.read("snmp_agent.ini") print(conf.get("main", "log_level")) print(conf.getint("main", "ne_agent_port")) print(conf.get("main", "ne_agent_qip")) 复制代码
二、异常的使用
1、 尽量少用。它会使程序难以理解,而且还会发生不可预知的情况,比如异常的发生使程序的状态变为一个未知状态。
2、 可以寻找替代方案。
3、 程序非常重要,不可以停止,可以在主循环包装在异常处理中运行。
4、 打印出异常的信息,供后面的定位:log.error(traceback.format_exc())
5、 raise在引发异常的时候,可以传递引发一场的额外数据。形式如下:
raise Exception, 1
捕获方法:
except CallExit, e:
e就是那个额外数据1。(但是奇怪的是它的类型不是1)
6、 如何捕获一个异常,进行处理,然后在把它抛出:
except : for flet in fletList: flet.throw() info = sys.exc_info() raise info[0], info[1], info[2] 复制代码
7、 如何使用异常才是Pythonic的做法?这个要看一下。
三、类型系统
1、 类型也是对象。比如:inttype = int,然后,n = inttype(‘256’),这样可以把字符串转化为int值。
2、 另外,是否可以把字符串转化为关键字,或者对象?比如,一个变量,abc,是否可以通过’abc’来引用?
OS的使用
os中有很多可以直接利用的东西,比如,判断文件是否存在,删除文件等。这样可以不用再执行shell命令。
os.rremove(path):删除文件
os.system(‘ls’);执行shell命令
四、文件的使用
1、 打开使用函数open,模式和linux c类似。有一个不同的地方时,可以选择,直接操作磁盘还是操作内存。
2、 readline可以读取一个文件的一行。
3、 readlines:返回每一个列的列表。对应writelines。
4、 文件迭代器:
f = open(‘fliename’) for line in f: process(line) f.close() 复制代码
或者更简洁的:
for line in open(filename): process(line) 复制代码
5、 文件迭代器的使用:
如果文件很大,readlines可能会占用过多的内存。所以,Python提出一种类似于惰性求值的惰性迭代。
有两种方案:fileinput和文件迭代器:
import fileinput for line in fileinput.input(filename) process(line) 复制代码
文件迭代器:
f = open(filename) for line in f: process(line) 复制代码
6、 如何判断文件是否存在:
import os os.path.isfile('/home/keepshell') os.path.exists('/home/keepshell') 复制代码
7、 如何判断目录是否存在:
import os os.path.isdir('/home') os.path.exists('/home')
作者:zhulin1028
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。