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 ...
随机推荐
- Vue父子组件双向数据绑定
[本文出自天外归云的博客园] 简介 Vue版本:2.9.6 Element版本:2.4.8 问题描述:子组件对Element中el-select进行封装,父组件中把选中的值selected和所有选项o ...
- 阿里java代码检测工具p3c
阿里在杭州云栖大会上,正式发布众所期待的<阿里巴巴Java开发规约>扫描插件! 该插件由阿里巴巴P3C项目组研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把<阿里巴巴 ...
- Vue:在vue-cli中使用Bootstrap
一.安装jQuery Bootstrap需要依赖jQuery,所以引用Bootstrap之前要先引用jQuery,使用下面的命令引用jQuery: npm install jquery --save ...
- 5.动态代理AOP实现-DynamicProxy模式
通过动态代理模式Interceptor实现在RegUser()方法本身业务前后加上一些自己的功能,如:PreProceed和PostProceed,即不修改UserProcessor类又能增加新功能 ...
- 基于Gradle的spring boot 项目构建
今天听只是分享,听到不用maven而使用Gradle构建,就尝试了下 Java三大构建工具:Ant.Maven和Gradle Gradle是一个基于Apache Ant和Apache Maven概念的 ...
- TeamViewer 版本v13.2.26558 修改ID
TeamViewer 使用频繁后会被判定为商业用途,不可用.此软件的账号和设备mac地址绑定. 修改TeamViewer ID后可以重新开始使用.下述方法可以成功修改TeamViewer ID. Wi ...
- MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report e
早上来到公司,线上的项目报错: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionExcepti ...
- iOS - UITableView reloadData滚动到顶部无效问题解决
//tableView:动态cell的高度不固定,滑动不到最顶部 //if (self.sensorDate.count > 0) { // [self.tableView scrollToRo ...
- Node bak
process.on('uncaughtException', function (err) { logger.info('Local Server Exception: ') logger.info ...
- 怎么才能使服务器Nginx(或者Apache)支持字体文件
为了在前端正确地显示字体,浏览器必须使用正确的http header来接受字体文件.如果服务器没有设置要求的头信息,那么有些浏览器就会在控制台报错或者直接不能显示. 可能你的服务器已经配置好了,你无须 ...