「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战」
一、配置文件读取的使用
1、 使用模块ConfigParser。实例如下:
1 | vbscript复制代码conf = ConfigParser() |
二、异常的使用
1、 尽量少用。它会使程序难以理解,而且还会发生不可预知的情况,比如异常的发生使程序的状态变为一个未知状态。
2、 可以寻找替代方案。
3、 程序非常重要,不可以停止,可以在主循环包装在异常处理中运行。
4、 打印出异常的信息,供后面的定位:log.error(traceback.format_exc())
5、 raise在引发异常的时候,可以传递引发一场的额外数据。形式如下:
raise Exception, 1
捕获方法:
except CallExit, e:
e就是那个额外数据1。(但是奇怪的是它的类型不是1)
6、 如何捕获一个异常,进行处理,然后在把它抛出:
1 | ini复制代码 except : |
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 | scss复制代码f = open(‘fliename’) |
或者更简洁的:
1 | scss复制代码 for line in open(filename): |
5、 文件迭代器的使用:
如果文件很大,readlines可能会占用过多的内存。所以,Python提出一种类似于惰性求值的惰性迭代。
有两种方案:fileinput和文件迭代器:
1 | scss复制代码import fileinput |
文件迭代器:
1 | scss复制代码f = open(filename) |
6、 如何判断文件是否存在:
1 | lua复制代码import os |
7、 如何判断目录是否存在:
1 | lua复制代码import os |
\
本文转载自: 掘金