Python开发基础总结(六)配置文件读取+异常+类型系统+文件

695 阅读1分钟

「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战

 一、配置文件读取的使用


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')

\