python之路——20
学习内容
1.序列化——数据类型转向字符串数据类型
反序列化——字符串转向数据类型
2.序列化模块
json模块
通用序列化格式
弊端:只有少部分数据类型可通过json转化
pickle模块
所有的python中的数据类型都是可以转换成字符串形式
弊端:pickle序列化的内容只有python能理解
且部分反序列化以来代码
shelve模块
3.模块导入习惯
1.内置模块--扩展模块--自定义模块
4.导入模块
1.import 模块名
#模块名,变量名与本文件不冲突
2.import 模块名 as 重命名的模块名
#提高代码的兼容性
3.from 模块名 import 变量名
#直接使用 变量名
#如果本文件有相同的变量名会冲突
4.from 模块名 import 变量名 as 重命名变量名
5.from 模块名 import 变量名1,变量名2
6.form 模块名 import *
7.__name__
代码区
1.练习代码
# json模块
'''
import json
dic1 = {'k1': 'v1'}
dic1_str = json.dumps(dic1)
print(dic1, dic1_str)
dic2 = json.loads(dic1_str)
print(dic2)
# 数字 字符串 列表 字典 元组(转成列表序列化,反序列化后成列表)
dic1 = {'k1': 'v1', 'k2': '中国'}
f = open('log', 'w', encoding='utf-8')
json.dump(dic1, f, ensure_ascii=False)
f.close() f = open('log', encoding='utf-8')
ret = json.load(f)
print(type(ret), ret)
f.close() l1 = [{'k1': '111'}, {'k2': '222'}, {'k3': '333'}]
f1 = open('log', 'w', encoding='utf-8')
import json
for dic in l1:
dic_str = json.dumps(dic)
f1.write(dic_str + '\n')
f1.close() f2 = open('log')
l = []
for line in f2:
dic = json.loads(line.strip())
l.append(dic)
f2.close()
print(l)
'''
from demo import money
money = 100
print(money)
python之路——20的更多相关文章
- 【python之路20】函数作为参数
1.函数可以作为参数 1)函数名相当于变量指向函数 2)函数名后面加括号表示调用函数 #!usr/bin/env python # -*- coding:utf-8 -*- def f1(args): ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python之路【第十五篇】:Web框架
Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...
- Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...
- Python之路【第八篇】:堡垒机实例以及数据库操作
Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...
- Python之路【第七篇】:线程、进程和协程
Python之路[第七篇]:线程.进程和协程 Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...
随机推荐
- 3.14 unittest之skip
3.14 unittest之skip 前言当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例.或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用 ...
- vmware虚拟机安装了linux(redhat)系统忘记登录密码怎么办
今天,打开了以前装过的vmware虚拟机,正常启动之后,一直想不起登录密码,怎么都是登录不进去.然后在网上查找资料,最后重置了密码.下面,分享下具体操作过程. 1.重新启动虚拟机,在出现启动进度条时按 ...
- PowerDesigner生成PowerBuilder扩展属性~
PowerDesigner版本:11.0.0.1363 步骤: 一.打开PowerDesigner新建模型->物理数据模型(Physical Data Model). 二.在常规选项 DBM ...
- 【oracle】ORA-12541:TNS:no listener
查看监听文件 locate listener.ora 切换到数据库用户 su - ora11g 查看监听状态 状态显示,监听没有打开 开启监听,start后面加上你需要启动的监听名字(因为listen ...
- ODI Scenario 场景
ODI中,场景的作用类似发布版本,当映射最终修改版完成时,可以生成场景.无论是映射(Mapping)还是包(Package)都可以生成场景. 包调用映射和调用场景的区别: 1,包直接调用映射,当映射修 ...
- Java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind异常
端口被占用,可能是其他程序占用,也有可能是自己代码逻辑不对,比如BZ在写SocketServer时把添加端口的代码放进了while里(sasasa.....). 查看本机端口是否被占用:netstat ...
- JavaScript 运动(缓冲运动,多物体运动 ,多物体多值运动+回调机制)
匀速运动 (当需要物体做匀速运动直接调用statMove函数) function startMove(dom,targetPosetion){ //dom : 运动对象,targetPositio ...
- delphi的流操作的语法
Delphi在这两方面都做的相当出色.在Delphi的早期版本Turbo Pascal 中就曾有流(Stream).群(Collection)和资源(Resource)等专门用于对象式数据管理的类.在 ...
- kickstart文件制作与光盘镜像制作
kickstart文件,是linux(Redhat.Centos.Fedora)下的anaconda安装程序的配置文件,基于此文件,可以实现linux的无人值守安装,在需要大规模部署安装linux的情 ...
- uWSGI+Django (中)
环境是ubuntu 14.0 python3 django 1.10 1:安装uwsgi sudo apt-get install libpcre3 libpcre3-dev sudo pip3 i ...