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

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

一、配置文件读取的使用

1、 使用模块ConfigParser。实例如下:

1
2
3
4
5
6
vbscript复制代码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、 如何捕获一个异常,进行处理,然后在把它抛出:

1
2
3
4
5
ini复制代码   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、 文件迭代器:

1
2
3
4
scss复制代码f = open(‘fliename’)
for line in f:
    process(line)
    f.close()

或者更简洁的:

1
2
scss复制代码 for line in open(filename):
        process(line)

5、 文件迭代器的使用:

如果文件很大,readlines可能会占用过多的内存。所以,Python提出一种类似于惰性求值的惰性迭代。

有两种方案:fileinput和文件迭代器:

1
2
3
scss复制代码import fileinput
for line in fileinput.input(filename)
        process(line)

文件迭代器:

1
2
3
scss复制代码f = open(filename)
for line in f:
        process(line)

6、 如何判断文件是否存在:

1
2
3
lua复制代码import os
os.path.isfile('/home/keepshell')
os.path.exists('/home/keepshell')

7、 如何判断目录是否存在:

1
2
3
lua复制代码import os
os.path.isdir('/home')
os.path.exists('/home')

\

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%