目录
一:open(r+/w+)、close、write、readlines
1 open打开文件
r+ 打开已经存在文件
对于文件不存在的情况,编辑器会给出报错
- # open打开文件 r+打开已经存在的文件
- file = open("user.txt", "r+")
- print(file, type(file))

w+ 若是文件不存在 则会创建文件
- # open打开文件 w+文件存在打开/文件不存在则创建
- file = open("user.txt", "w+")
- print(file, type(file))
user.txt创建
2 close关闭文件
file.close()
3 write写入文件
- # open打开 w+文件存在打开/文件不存在创建
- file = open("user.txt", "w+")
- print(file, type(file))
- # write写入
- file.write("hello\n")
- # close关闭
- file.close()
w+文件存在打开、写入文件

4 readlines读取文件
print(file.readlines())
python中存在有 自动开启关闭资源 with open .. as
写入文件操作
- # 字典 定义
- stu = {'name': 'lily', 'pwd': '123456'}
- # 字典 定义
- stu1 = {'name': 'sam', 'pwd': '123123'}
- # 字典列表 定义
- stu_list = [stu, stu1]
-
- # 写入操作 a+追加写入
- with open("user.txt", mode='a+') as file:
- for item in stu_list: # 遍历字典列表
- print(item)
- # 写入文件:用户名、密码 每行一个数据:\n
- file.write(item['name'] + " " + item['pwd'] + "\n")

读取文件操作
首先:字符串两端空格去掉
- # 字典 定义
- stu = {'name': 'lily', 'pwd': '123456'}
- # 字典 定义
- stu1 = {'name': 'sam', 'pwd': '123123'}
- # 字典列表 定义
- stu_list = [stu, stu1]
-
- # 读取操作 r+打开已经有的文件读取
- with open("user.txt", mode='r+') as file:
- lines = file.readlines() # 读取每一行
- for line in lines: # 遍历列表
- line = line.strip() # 字符串两端的空格去掉
- print(line)
输出结果:可以正确读取user.txt内容
lily 123456
sam 123123
其次:需要空格分割出用户名、密码,操作如下
- # 字典 定义
- stu = {'name': 'lily', 'pwd': '123456'}
- # 字典 定义
- stu1 = {'name': 'sam', 'pwd': '123123'}
- # 字典列表 定义
- stu_list = [stu, stu1]
-
- # 读取操作
- with open("user.txt", mode='r+') as file:
- lines = file.readlines()
- for line in lines:
- # 字符串分割 空格分割出用户名和密码
- name, pwd = line.split(" ")
- print(name, pwd)
然后:读取,字典数据类型的用户名、密码
- # 字典列表
- user_list = []
- # 读取操作 r+打开已经存在的文件读取
- with open("user.txt", mode='r+') as file:
- lines = file.readlines() # 读取每一行
- for line in lines:
- line = line.strip() # 字符串两端空格去除 去除\n
- name, pwd = line.split(" ") # 用空格分割
- user_list.append({'name': name, 'pwd': pwd}) # 字典列表
- print(user_list)
输出结果:读取到的为字典,多用户--字典列表
[{'name': 'lily', 'pwd': '123456'}, {'name': 'sam', 'pwd': '123123'}]
最后:简单优化一下,如下
- # 字典列表
- user_list = []
- # 读取操作
- with open("user.txt", mode='r+') as file:
- lines = file.readlines() # 读取每一行
- for line in lines:
- # 两端空格去除、空格分割
- name, pwd = line.strip().split(" ")
- # 字典列表
- user_list.append({'name': name, 'pwd': pwd})
- print(user_list)
输出结果:字典列表
[{'name': 'lily', 'pwd': '123456'}, {'name': 'sam', 'pwd': '123123'}]

写入文件 函数封装
- # 写入文件操作 函数封装
- def write_file(filename, stu_list):
- with open(filename, mode='a+') as file:
- for item in stu_list:
- file.write(item['name'] + " " + item['pwd'] + "\n")
读取文件 函数封装
- # 读取文件操作 函数封装
- def read_file(filename):
- user_list = []
- with open(filename, mode='r+') as file:
- lines = file.readlines()
- for line in lines:
- name, pwd = line.strip().split(" ")
- user_list.append({'name': name, 'pwd': pwd})
- return user_list
仅提供思路,仍需完善.....