简易银行系统,将里面的注册和登录功能(之前放在字典中),改写成文件类型(将用户名,余额,密码全部放在文件之后)
如果一定要文本, 看数据i情况, 一个客户一行的方式来解决, 可以考虑用json 格式。
同上,如果一定要文本,一行一个客户,不同的信息以空格隔开,使用的时候split一下。可以参考下面的代码:
from faker import Faker
faker_info = {}
fake = Faker(locale='zh_CN')
# 生成一些随机的数据,不用去管
for i in range(0,10):
faker_info[fake.name()] = {
"address":fake.address(),
"ban_account":fake.bban(),
"company":fake.company(),
}
# 写入
with open('./info.txt','a+',encoding='utf-8') as f:
res = []
for name,values in faker_info.items():
data = '' + name + ' '
data += ' '.join(values.values()) + '\n'
res.append(data)
f.writelines(res)
f.close()
# 使用
with open('./info.txt', 'r', encoding='utf-8') as f:
data_list = f.readlines()
for data in data_list:
name,address,zip_code,ban_account,company = data.split(' ')
print(name,address,zip_code,ban_account,company)
另外给几个建议,如果一定文件形式存下来,可以考虑存到表格里面去,或者使用json文件存储。代码参考如下:
# # 写入json
with open('./info.json', 'a+', encoding='utf-8') as f:
f.write(json.dumps(faker_info, ensure_ascii=False))
f.close()
# 写入表格
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# 写表头
ws.cell(1, 1).value = "姓名"
ws.cell(1, 2).value = "地址"
ws.cell(1, 3).value = "银行账户"
ws.cell(1, 4).value = "公司"
# 写数据
for index,name in enumerate(faker_info.keys()):
print(index,name)
ws.cell(2 + index, 1).value = name
for index2,value in enumerate(faker_info[name].values()):
print(index2,value)
ws.cell(2 + index, index2 + 2).value = value
wb.save('./info.xlsx')