1、文件读写处理
1.1 模拟文件打开不关闭的场景
参考【python】只对文件open,不close的后果_Zebul博的博客-优快云博客_python不关闭文件
正常来说如果说打开文件,一直不关闭,会影响操作系统对文件的处理,比如删除等动作。
下面这段示例就是参考如上链接构造,通过handler = open(filePath, 'wb')选择打开一个文件(不存在时创建),同时不释放该文件。后续调用os.remove时,会报错
class OpenFileTest:
def openfile(self, filePath):
try:
handler = open(filePath, 'wb')
# 实际使用如下with的写法会更好,避免文件没有关闭的问题
# with open(filePath, 'wb') as self.handler:
print("function OpenFileTest has been called~")
except Exception as ex:
raise Exception
pass
if __name__ == "__main__":
t = OpenFileTest()
filePath = 'a.txt'
t.openfile(filePath)
os.remove(filePath)
print('success')
报错信息如下
这就是不close文件的影响,实际处理文件时还是推荐使用with open(filePath, 'wb') as self.handler:的写法,避免忘记手工close文件的不良影响。
关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法。
2、关于字符串处理的方式
参考廖雪峰的教程:字符串和编码 - 廖雪峰的官方网站
需要了解ASCII、Unicode和UTF-8的关系,大致如下
由于Python的字符串类型是str
,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str
变为以字节为单位的bytes
。
Python对bytes
类型的数据用带b
前缀的单引号或双引号表示:
x = b'ABC'
2、Python格式化输出
参考如下链接
主要是常见的格式化符号:
%s 通过str()字符串转换来格式化
%u 无符号的十进制整数
%d 有符号的十进制整数
%o 八进制整数
%x 十六进制整数,小写字母
%X 十六进制整数,大写字母
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点实数
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)