Python学习笔记(五)

21 阅读1分钟

文件操作

打开文件

open函数

f = open('file_test', 'w', encoding='utf-8')

参数mode:

  • 'r': 只读,指针在文件开头
  • 'w': (创建)并写入,若文件不存在则覆盖
  • 'a': 追加,文件不存则创建

读取

s = f.read(10)
content = f.readlines() # 读取全部内容;一个列表,元素为每行内容

read()参数:

  • 数据长度(字节)
  • 缺省为全部读取

readlines():

  1. 读取全部内容
  2. 一个列表,元素为每行内容

readline()

  • 一次仅读一行

for 循环读取

for l in open('./file_test', 'r'):
    print(l)

临时变量 l

写入

flush 刷新缓冲区:主存->磁盘

# f = open('./file_test', 'w', encoding='utf-8')
#
# for i in range(10):
#     f.write(f'hello world { i }\n')
# f.flush()
# f.close()

with open('./file_test', 'w', encoding='utf-8') as f:
    for i in range(20):
        f.write(f'hello world {i}\n')

关闭

解除占用

f.close()

with open 语法

执行完自动关闭

with open('./file_test', 'r', encoding='utf-8') as f2:
    f2.readlines()

捕获异常

try/except 语句

try:
    '''执行的代码'''
except Exception as e:
    '''处理异常的代码'''
else:
    print("没有异常")

多个/特定异常:

try:
    '''执行的代码'''
except Exception as e:
    '''处理异常的代码'''
else:
    print("没有异常")
finally:
    print("finished, goodbye")

顶级异常: Exception

从内向外传递,每层都可捕获

模块

import 模块名

模块的名称:__name__内置变量

if __name__ == '__main__':
    test(123)

限制可被 import * 的内容

__all__ = ["mun", "b"]

package.module

具有__init__.py 的文件