入门项目 A4 db_handler 数据操作文件
''' 数据处理层 ''' from conf import settings # 以下代码中有提前定义的路径函数,需要导入配置文件包下面的设置模块 import json # 以下代码中有需要序列化写入,所以调用内置json序列化模块 # 调用os模块,用于路径查找 import os # 定义一个保存数据函数 def save(user_dic): # DB_PATH = settings.DB_PATH # D:/ATM\db # db_path/username.json with open('%s/%s.json' % (settings.DB_PATH, user_dic.get('name')), 'w', encoding='UTF-8') as f: # 打开文件 采用格式化写入 D:/ATM\db/用户输入的注册姓名, # 因为已经导入了setting模块,可以使用setting中得DB_PAH路径,拼接用户信息字典的名字K的值,(get方法不报错) # w模式为没有存在就创建并写入,编码通常采用万国码 UTF-8 解码编码 # 起别名为f res = json.dumps(user_dic) # res作为变量名,接收 采用序列化输入的格式 用转储方法 原样的存储用户信息字典中的所有内容 f.write(res) # 将变量名res的接收的信息写入文件f中 f.flush() # 冲刷文件 可 理解为刷新,因为程序刷新文件都是自上而下,像水流一样, # 结合当时早期开发者的cpu处理速度,所有此方法没有采用fresh命名, # 而采用眼睛所见到的,更形象的自上而下显示程序代码的形态,冲刷flush命名 # 定义查找用户名的文件是否存在 def select(name): user_path = '%s/%s.json' % (settings.DB_PATH, name) # 用户名路径,等于,setting模块下的DB_PATH路径拼接用户名 if not os.path.exists(user_path): # os.path.exists # 判断路径是否存在返回True或者False,os.path.exists(user_path)判断用户路径中是否存在, # 如果存在则 返回True,if not True, 等同于 if False ,不执行,直接进入文件读取 # 如果不存在则 返回False,if not False,等同于 if True ,执行return 返回空 return # 不设返回值 with open(user_path, 'r', encoding='utf-8')as f: # 存在就打开拼接文件路径,读取模式,万国码,起别名f res = f.read() # 接收 读取文件 user_dic = json.loads(res) # 接收 文件序列化加载为用户信息字典格式 return user_dic # 如果存在返回用户信息字典
入门项目 A4 db_handler 数据操作文件的更多相关文章
- 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何
基于 Vue.js 之 iView UI 框架非工程化实践记要 像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...
- python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作
python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
- QT从入门到入土(三)——文件的读写操作
引言 文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处 理而开发的,所以文件读写是应用程序开发的一个基本功能. Qt 提供了两种读写纯文本文件的基本方法: 用 QFi ...
- hive从入门到放弃(三)——DML数据操作
上一篇给大家介绍了 hive 的 DDL 数据定义语言,这篇来介绍一下 DML 数据操作语言. 没看过的可以点击跳转阅读: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--D ...
- Android数据存储-文件操作
一.预备知识 1.Android中的MVC设计模式 MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器.一个逻辑模型可以对于多种视图模型,比如一批统计 ...
- HealthKit开发快速入门教程之HealthKit数据的操作
HealthKit开发快速入门教程之HealthKit数据的操作 数据的表示 在HealthKit中,数据是最核心的元素.通过分析数据,人们可以看到相关的健康信息.例如,通过统计步数数据,人们可以知道 ...
- Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查
一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...
- python第二十九课——文件读写(读取数据操作)
演示读取数据操作:path=r'a.txt' 1.打开文件f1=open(path,'r') 2.读取数据content1=f1.read(3)print(content1) content1=f1. ...
随机推荐
- ogg12.2中的新参数 AllowOutputDir
在一个测试中,通过普通的pump进程将数据写入远端主机,启动pump进程之后进程abended.查看进程日志,提示: 2018-04-07 13:26:21 ERROR OGG-25127 R ...
- Python 事件驱动了解
事件驱动 gevent协程可实现自动切换,协程在遇到IO时会进行切换,到另外一个请求,那协程是如何得知在什么时候在切换回去呢? 通常,我们写服务器处理模型的程序时,有以下几种模型: (1)每收到一 ...
- kmp匹配详解
字符串算法都是毒瘤的 一.kmp算法的用处 在文本串中查找模式串的位置,数量 文本串:要在这个字符串查找模式串 模式串:在文本串中查找的字符串 全是废话 二.kmp算法的思想 话说kmp好像是3个发明 ...
- 复旦大学2016--2017学年第二学期(16级)高等代数II期末考试第六大题解答
六.(本题10分) 设 $A$ 为 $n$ 阶半正定实对称阵, $S$ 为 $n$ 阶实反对称阵, 满足 $AS+SA=0$. 证明: $|A+S|>0$ 的充要条件是 $r(A)+r(S)= ...
- 秦皇岛winter camp 总结
冬令营在秦皇岛自闭了七天,很多题目看了都没有思路,或者是不知道怎么敲代码.我发现图论的题,自己连怎么建树都给忘了,想了半天.还有很多自己从未接触过的算法.在说说课堂上课的情况,大部分时间都是全程懵逼的 ...
- oracle 查询表结构
SELECT t1.Table_Name AS "表名称", t3.comments AS "表说明", t1.Column_Name AS "字段名 ...
- yum downloadonly模式,保存所需软件及其依赖包
command: sudo yum install --downloadonly --downloaddir='yourderictory'
- 使用 R 语言挖掘 QQ 群聊天记录
1.获取数据 从 QQ 消息管理器中导出消息记录,保存的文本类型选择 txt 文件.这里获取的是某群从 2016-04-18 到 2016-05-07 期间的聊天记录,记录样本如下所示. 消息记录(此 ...
- vmware 12 可用 序列号
VMware Workstation 12序列号:5A02H-AU243-TZJ49-GTC7K-3C61N
- Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet - 我爱机器学习
http://www.cnblogs.com/52machinelearning/p/5821591.html