day014 模块
- # 1.用于多种语言交互 编程语言通用数据
- # 内置的 不需要安装 直接导入使用
- import json # 导入一个json模块
- # dumps loads
# dump load 有持久化的功能- # dic = {'1':2}
- # s = json.dumps(dic) # 将字典对象转换成字符串
# print(type(s))- # di = '{"1":2}'
# d = json.loads(di) # 将字符串转换成字典
# print(d)
# print(type(d))- # json.dump({'1':4},open('a','w',encoding='utf-8'))
- # d = json.load(open('a','r',encoding='utf-8'))
# d['1'] = 10
# print(d)- # json.dump(d,open('a','w',encoding='utf-8'))
- # d = json.load(open('a','r',encoding='utf-8'))
# print(d)- # 总结:
# json.load() #参数文件句柄(r), 将文件中字符串转换成字典
# json.dump() #对象(字典),文件句柄(w) 将字典转换字符串写入到文件中
# json.dumps() #对象(字典) 将字典转换成字符串
# json.loads() #字符串(字典) 将字符串转换成字典- # import json
# data = {'username':['李华','二愣子'],'sex':'male','age':16}
# json_dic2 = json.dumps(data,sort_keys=True,indent=2,separators=(',',':'),ensure_ascii=False)
# print(json_dic2)
- # 1.pickle 只支持python
- # dumps loads
# dump load 持久化- import pickle
# print(pickle.dumps({'1':4})) #将对象转换成类似二进制的东西
# print(pickle.loads(b'\x80\x03}q\x00X\x01\x00\x00\x001q\x01K\x04s.'))
# 将一个堆类似于二进制的东西转换成字典- # pickle.dump({'2':4},open('b','wb'))
# d = pickle.load(open('b','rb'))
# print(d)- # 总结:
# josn,pickle 对比- # loads json里的将字符串转换成字典 pickle 将字节转换成字典
# dumps json里的将字典转换成字符串 pickle 将字典转换成字节
# load json里的将文件中的字符串转换成字典 pickle 将文件中的字节转换成字典
# dump json里的将字典转换字符串写入到文件中,pickle 将字典转换成字节写入到文件中- # import json
- # ATM
- # d = json.load(open('a','r',encoding='utf-8'))
# print(d)- # d['money'] += 500
- # print(d)
- # d['money'] -= 100
- # import json
# d = json.load(open('a','r',encoding='utf-8'))
# print(d)
- # 序列化:
# 1.文件 + 字典操作- # import shelve
# f = shelve.open('c',writeback=True) #创建文件 # writeback = True 回写- # f['name'] = 'alex'
#
# f['age'] = 18
#
# print(f['name'],f['age'])- # f['name'] = ['alex','wusir']
#
# print(f['name'])- # print(f) # 这样是查看不了字典
- # for i in f:
# print(i) #获取到所有的键- # print(f.keys()) #keys也不行
- # for i in f:
# print(f[i])- # dump load 咱们不用写,自动帮咱们写的
- # f['name'] = {'2':4}
- # print(f['name'])
- # for i in f:
# print(i)- # 注意:以后你们会出现一个问题,咱们对字典的操作内容,有时候写不进去.在open
- # print(f['name'])
- # f['name'] = 'wusir'
# print(f['name']) # {'2':4}- # f['name'] = [1,2,34]
- # print(list(f.keys()))
- # json 最常用,前后端分离的时候数据交互 前后端分离 必回
# pickle python 不怎么常用 河南方言 必了解
# shelve 建议使用它,它简单 重庆,东北,容易学 必了解
- # 随机数
import random # 内置的
# print(random.random())
# 0-1 之间随机小数- # print(random.randint(1,10))
# 起始位置,终止位置 两头都包含- # print(random.randrange(1,21,2))
# 起始位置,终止位置(不包含),步长- # print(random.choice(['alex','wusir','eva_j']))
# 从有序数据结构中随机选择一个- # print(random.choices(['wusir','tialaing','taihei','ritian'],k=2))
# 随机选择两个,但是有重复- # print(random.sample(['wusir','tialaing','taihei','ritian'],k=2))
# 随机选择两个,没有重复- # li = [1,2,3,4,6]
# random.shuffle(li) # 洗牌 打乱顺序
# print(li)- # 随机数 验证码 微信红包
- # print(chr(65),chr(90),chr(97),chr(122))
- # U = chr(random.randrange(65,91))
# L = chr(random.randrange(97,123))
# n1 = random.randrange(0,10)
# n2 = random.randrange(0,10)
# print(U, L,n1,n2)
- # 1.os模块和当前电脑操作系统做交互
# os 内置模块- # 文件夹:
import os
# os.makedirs('app/a/b/c') # 递归创建文件 ***
# os.removedirs('app/a/b/c') # 递归删除文件, 当这个要删除的目录有文件就停止删除 ***
# os.mkdir('app') # 创建单个目录 ***
# os.rmdir('app') # 删除单个目录,目录如果有东西就报错不进行删除 ***
# print(os.listdir('D:\PyCharmProject\s20\day14')) ****
# 查看某个目录下的内容- # 文件:
# os.remove() #删除这个文件,删除了就不能恢复了 *****
# os.rename() #修改文件的名字 *****- # 操作系统:
# print(repr(os.sep)) #\\
# C:\Users\lucky\Documents\Tencent Files\932023756\FileRecv
# 路径符号- # print(repr(os.linesep))
# 换行符- # print(repr(os.pathsep))
# 环境变量的分割- # print(repr(os.name))
- # print(os.system('dir'))
- # print(os.popen('dir').read()) ***
# 在写程序的时候可以下发一些操作系统的指令
# 在linux系统上相当于发shell命令- # print(os.environ) 查看 高级 -- 环境变量 -- path *
- # 路径:
# print(os.path.abspath('b')) ****
# 获取当前文件的绝对路径
# print(os.path.split(r'D:\PyCharmProject\s20\day14\b'))
# 将这个文件的绝对路径分成目录和文件
# print(os.path.basename(r'D:\PyCharmProject\s20\day14\b')) **
# 获取的是这个文件的名字
# print(os.path.dirname(r'D:\PyCharmProject\s20\day14\b')) ***
# 获取的是这个文件的目录路径
# print(os.path.exists(r'D:\PyCharmProject\s20\day10\07 今日总结.py')) **
# 判断这个文件是否存在
# print(os.path.isabs(r'D:\PyCharmProject\s20\day14\b'))
# 判断是否是绝对路径- # print(os.path.join('C:\\','app','a','b')) *****
# #路径拼接的 软件开发规范 框架- # os.stat()
- # print(os.stat('b').st_size) #获取文件大小 ,坑目录 ***
# print(os.getcwd()) # 获取工作路劲 ***- # os.chdir('D:\PyCharmProject\s20\day13') # 路劲切换 *
# print(os.getcwd())
- # 1. sys模块 python解释器交互的
- # sys 内置的
- import sys
- # print(sys.argv[-1]) ***
# 接受cmd方式调用 后边的参数会传递进来
# linux系统上 -- 后端开发 -- 数据库(文件) ip + 端口- # print(sys.path) # 添加自定义模块路劲的 # ******
- # print(sys.version) # 版本 获取解释的版本号
- # sys.platform = 'win1988'
- # print(sys.platform) #获取当前操作系统的平台位数 # 不是定死的
- # print(sys.exit(1))
- # 1.# 加密算法
# 作用: 当做密码
# 判断一致性
# 2.加密后不可逆 不能解 (一年前暴力破解 -- 撞库)
# (现在md5 反推)- # 3.sha1,sha256,sha512
- # alex3714
# **********- # import hashlib
# md5 = hashlib.md5('盐'.encode('utf-8')) # 选择加密方式 加盐
# md5.update('alex3714'.encode('utf-8')) # 将明文转成字节然后进行加密
# print(md5.hexdigest()) # 生成密文- # md5 = hashlib.md5() # 选择加密方式 加盐
# md5.update('alex3714'.encode('utf-8')) # 将明文转成字节然后进行加密
# print(md5.hexdigest()) # 生成密文- # sha512 = hashlib.sha512()
# sha512.update('alex3714'.encode('utf-8'))
# print(sha512.hexdigest())- # # sha512
# 优点:
# 安全
# 缺点:
# 慢
#
# # md5
# 优点:
# 安全,快
# 缺点:
# 容易破解- # user,pwd = input('user|pwd:').strip().split('|')
# import hashlib
#
# md5 = hashlib.md5(str(user).encode('utf-8'))
# md5.update(pwd.encode('utf-8'))
# print(md5.hexdigest())- # md5,sha1,sha256,sha512
day014 模块的更多相关文章
- 第五章 模块之 getpass、sys、os
5.5 getpass 密码不显示(只能在终端运行) 密码不显示(只能在终端运行) import getpasspwd = getpass.getpass('请输入密码:')if pwd == '1 ...
- npm 私有模块的管理使用
你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- ES6模块import细节
写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...
- Python标准模块--ContextManager
1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情. ...
- Python标准模块--Unicode
1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 ...
- Python标准模块--Iterators和Generators
1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...
- 自己实现一个javascript事件模块
nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...
- 理解nodejs模块的scope
描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...
随机推荐
- Intellij 高亮显示与选中字符串相同的内容
如下图所示,我的是 2018,不同版本,Schema 可能要 Save As一下
- mysql插入报主键冲突,解决方法主键索引重新排序
1.备份表结构 create table table_bak like table_name; 2.备份表数据 insert into table_bak select * from table_na ...
- [转]decorator(HTML装饰器)
原文地址:https://blog.csdn.net/jzh440/article/details/7770013 1>:每当遇到一个新的技术,首先我会问自己,这个技术是做神马的?用这个技术有神 ...
- java.util.function 中的 Function、Predicate、Consumer
函数式接口: 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但可以有多个非抽象方法的接口. 函数式接口可以被隐式转换为 Lambda 表达式. Function ...
- 【算法】八皇后问题 Python实现
[八皇后问题] 问题: 国际象棋棋盘是8 * 8的方格,每个方格里放一个棋子.皇后这种棋子可以攻击同一行或者同一列或者斜线(左上左下右上右下四个方向)上的棋子.在一个棋盘上如果要放八个皇后,使得她们互 ...
- C#访问gsoap的服务--可用
问题来源: C++开发一个webservice,然后C#开发客户端,这样就需要C#的客户端访问gsoap的服务端.(大家都知道gsoap是C/C++开发webservice的最佳利器) 为什么不考虑直 ...
- python -- Pythonic
所谓Pythonic,就是极具Python特色的Python代码(明显区别于其它语言的写法的代码) 总结如下: 两变量的内容交换 Python:a,b = b,a 非Python:t=a;a=b;b= ...
- TPS和QPS的区别和理解
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. TPS:是Transactions ...
- Flask学习笔记(3)--路由
0x01 参数传递 传递参数的语法是: /<参数名>/,然后在视图函数中,也要定义同名的参数. 参数的数据类型: 1.如果没有指定具体的数据类型,那么默认就是使用string 数据类型. ...
- FZU 2150 fire game (bfs)
Problem 2150 Fire Game Accept: 2133 Submit: 7494Time Limit: 1000 mSec Memory Limit : 32768 KB ...