random os 序列化 模块模块 随机选择
# 1 random 模块 随机选择
# import random
#随机取小数
# ret = random.random() #空是0到1之间的小数字
# print(ret)
# # 0.07997289873078917
# uniform 统一的
# print(random.uniform(10,12))
# 11.341669118364248
# 随机取整数
# 1print(random.randint(1,10))
# 5 随机整取1 到10 的数字
# 2
# print(random.randrange(5))
# 随机整取0 到4 的数字1个数字
# print(random.randrange(1,5))
# 随机整取1到4 的数字1个数字
# print(random.randrange(2,8,2))
# 随机整取2到8的步长为2的1个数字 # 3choice 和sample
# print(random.choice('abc'))
# 随机整取a到c 的数字1个数
# print(random.sample([1,'23',44,[4,5]],2))
# 随机整取的数字2数
# 4 改变原来的列表顺序 用于抽奖 洗牌 shuffle
# 打乱一个序列的顺序
# item=[1,3,5,7,9]
# random.shuffle(item) #改变了原列表
# print(item) # 题目 随机取6个数字和字母 并组成字符串 注意 # chr 转换 字母acim 转换到字母
# A-Z 65-90 \
# a -z 97-122
# li = []
# for i in range(6):
# num = str(random.randrange(0,10)) #或者 random.randint(0,9)
# alpha_lower = chr(random.randint(97,122))
# alpha = chr(random.randint(65,90))
# ret = random.choice([num,alpha,alpha_lower])
# li.append(ret)
# print(''.join(li)) # os 模块
# import os
#和系统路径有关的
# 1 print(os.getcwd()) #*****
# 获取当前的工作路径 D:\python 资料171017\每天视频资料\day20\day20
# os.mkdir('dir11')
# 在此基础上在创建一层目录
# os.mkdir('dir11\\dir22')
# 再上一级新建一个目录
# os.makedirs('dir3\\dir4')
# 同时创建两个以上目录
# os.rmdir('dir1')
# 删除一级的目录
# os.removedirs('dir3\\dir4')
# 删除两层以上的目录
# print(os.stat('dir11'))
# 路径的详细信息 # os.chdir(r'C:\Users')
# print(os.curdir)
# print(os.pardir)
#和系统文件夹和文件相关的
# os.mkdir('dir1')
# os.makedirs('dir3\\dir4')
# os.rmdir('dir3\\dir4')
# os.removedirs('dir3\\dir4')
# os.remove('文件路径')
# os.rename('文件路径')
#print(os.listdir(r'C:\Users\Administrator\PycharmProjects\全栈s8'))
#和操作系统特征相关的
# print(os.stat(r'C:\Users\Administrator\PycharmProjects\全栈s8\day21'))
# print(os.sep) #/user/bin/
#拼目录 C:\Python36\python\nihaohahaha
# C:\Python36\Scripts\;C:\Python36\
# print(os.environ) # 序列化模块
json
# 序列化
# 序列化方法
# 格式转换
# 把python中的数据转换成str —— 序列化
# 可以str转换成python的数据 —— 反序列化
# s_dic = str({'k':'v'})
# print(repr(s_dic))
# eval 的用法 专门处理字符串的 可以把字符串的里面的
# print(repr(eval(s_dic)))
# "{'k': 'v'}"
# {'k': 'v'} # 序列化方法
# 1 json #json 所有的语言都通用,它能序列化的数据是有限的:字典列表元组
#序列化中的内容只能包含:字典 列表 数字 字符串
# 如果是元组——自动转成列表的样子
# import json #1-1 json.dumps() 转化成字符串
# ret = json.dumps({'k':(1,2,3)})
# print(repr(ret),type(ret))
# '{"k": [1, 2, 3]}' <class 'str'>
#1-2 json.loads() 则和它相反的 把字符转换成原来的字典
# ret2 = json.loads(ret)
# print(repr(ret2))
# {'k': [1, 2, 3]}
#2-1json.dump() 写文件 写入的是字符串
# f = open('json_file','a')
# json.dump({'k':'v'},f)
# f.close() # 2-2json.load() 读文件 输出的是原文件的类型
# with open ('json_file')as f:
# ret = json.load(f)
# print(ret)
# 返回一个字典 {'k': 'v'} # 二
# import pickle
#pickle是py特有的 用法一模一样
#pickle ---- 序列化任何数据类型,python专有的不能和其他语言兼容, #dumps
#loads
#dump
#load
# 结果是bytes
# import pickle #用pickle序列化的数据,反序列化也必须用pickle
# ret = pickle.dumps({1,2,3,4})
# print(ret)
# b'\x80\x03cbuiltins\nset\nq\x00]q\x01(K\x01K\x02K\x03K\x04e\x85q\x02Rq\x03.' # 三 shelve #shelve 只提供一个open,shelve.open('文件名')拿到一个文件句柄,这个文件句柄就
# 可以当做字典操作
#正常情况下shelve打开的文件句柄感知不到值的修改,设置writeback = True就可以保存修改内容了
#正常情况下不支持多个人同时写,支持多个人同时读,如果只是读的化,就设置flag=‘r’ import shelve
# 写入文件
f = shelve.open('shelve_file')
f['key'] = {'int':10, 'float':9.5, 'string':'Sample data'} #直接对文件句柄操作,就可以存入数据
f.close() # import shelve
# f1 = shelve.open('shelve_file')
# existing = f1['key'] #取出数据的时候也只需要直接用key获取即可,但是如果key不存在会报错
# f1.close()
# print(existing) #不支持多个人同时写,支持多个人同时读,如果只是读的化,就设置flag=‘r’
# import shelve
# f = shelve.open('shelve_file',flag='r')
# f['key'] = {'int':10, 'float':9.5, 'string':'Sample data'} #直接对文件句柄操作,就可以存入数据
# f.close() # f1 = shelve.open('shelve_file')
# print(f1['key'])
# f1['key']['new_value'] = 'this was not here before' #改
# f1.close()
#
# f = shelve.open('shelve_file',flag='r')
# print(f['key'])
# f.close() #正常情况下shelve打开的文件句柄感知不到值的修改,设置writeback = True就可以保存修改内容了
# import shelve
# f2 = shelve.open('shelve_file', writeback=True)
# print(f2['key'])
# f2['key']['new_value'] = {1,2,3}
# f2.close()
# import shelve
# f = shelve.open('shelve_file',flag='r')
# print(f['key'])
# f.close()
#和操作系统的命令相关 —— dir cd
# os.system('dir') #没有返回值,且直接执行代码,把结果直接输出
# ret = os.popen('dir') #如果有结果就将结果返回回来
# print(ret.read()) #ret.read()获取结果 #os.path
# ret = os.path.split(r'C:\Users\Administrator\PycharmProjects\全栈s8\day21\os.py')
# ret = os.path.basename(r'C:\Users\Administrator\PycharmProjects\全栈s8')
# ret = os.path.isfile(r'C:\Users\Administrator\PycharmProjects\全栈s8')
# ret = os.path.isfile(r'C:\Users\Administrator\PycharmProjects\全栈s8\day21\3.os模块.py')
# ret = os.path.isdir(r'C:\Users\Administrator\PycharmProjects\全栈s8\day21\3.os模块.py')
# ret = os.path.isdir(r'C:\Users\Administrator\PycharmProjects\全栈s8')
# ret = os.path.join(r'C:\Users\Administrator\PycharmProjects\全栈s8','day21','3.os模块.py')
# ret = os.path.getsize(r'C:\Users\Administrator\PycharmProjects\全栈s8\day21\3.os模块.py') #文件
# ret = os.path.getsize(r'C:\Users\Administrator\PycharmProjects\全栈s8\day21')
# print(ret)
random os 序列化 模块模块 随机选择的更多相关文章
- python基础语法11 内置模块time,datatime,random,os,sys,hashlib模块
time模块 在python的三种时间表现形式: 1.时间戳: 给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. 2.格式化时间(Format Strin ...
- python random 随机选择操作
# -*- coding:utf-8 -*- import random arr = ['A','B','C','D','E','F'] #生成(0.0, 1.0)的随机数 print random. ...
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- python day27--常用模块 time,random,os,序列化
一.time模块 %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I ...
- 7.18 collection time random os sys 序列化 subprocess 等模块
collection模块 namedtuple 具名元组(重要) 应用场景1 # 具名元组 # 想表示坐标点x为1 y为2 z为5的坐标 from collections import namedtu ...
- 2019-7-18 collections,time,random,os,sys,序列化模块(json和pickle)应用
一.collections模块 1.具名元组:namedtuple(生成可以使用名字来访问元素的tuple) 表示坐标点x为1 y为2的坐标 注意:第二个参数可以传可迭代对象,也可以传字符串,但是字 ...
- collection,random,os,sys,序列化模块
一.collection 模块 python拥有一些内置的数据类型,比如 str,list.tuple.dict.set等 collection模块在这些内置的数据类型的基础上,提供了额外的数据类型: ...
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
- 时间模块 time 随机模块random os模块,sys模块
时间模块 time #时间模块 import time #三种格式 #时间戳时间:是一个浮点数,以秒为单位,计算机用语 #结构化时间 :是一个元组 #用于中间转换 #格式化时间:str数据类型, 用 ...
随机推荐
- 2.7 UML状态图
问题的引出 顺序图是对对象的动态行为进行建模,有多个对象的参与.协作 问题: 当需要考察单个实体的动态行为时, 用UML如何来建模呢? 什么是单个实体:一个软件系统?一个子系统?一个模块.一个构件? ...
- 标准化数据-StandardScaler
StandardScaler----计算训练集的平均值和标准差,以便测试数据集使用相同的变换 官方文档: class sklearn.preprocessing.StandardScaler(copy ...
- ubuntu计划任务的编写
1,首先,我编写的计划任务是在ubunut系统上的.首先我们来认识一下每一个 * 这样子的符号代表什么意思吧! * * * * * 从左到右: 第1列表示分钟1-59 每分钟用*或者 */1表 ...
- 使用saltui实现图片预览查看
项目是基于dingyou-dingtalk-mobile脚手架的一个微应用,这个脚手架使用的UI是antd-mobile,它提供了一个图片上传的组件,但是未提供图片预览的组件,在网上找了不少如何在re ...
- UI基础二:下拉,F4,OP等
常用的搜索帮助有SE11的SH,域,值列表,组件等...下面介绍一下经常用的: 一:下拉 dropdown是最经常用的,也是最简单的一种. 不管是查询条件,还是结果清单,还是明细界面,下拉都是一样的 ...
- MongoDB 教程(五):连接、新建数据库、删除数据库
连接 启动 MongoDB 服务 只需要在 MongoDB 安装目录的 bin 目录下执行 mongodb 即可. 执行启动操作后,mongodb 在输出一些必要信息后不会输出任何信息,之后就等待连接 ...
- nginx是什么,如何使用
一:nginx是什么? 二:nginx作为网关,需要具备什么?(nginx可以作为web服务器,但更多的时候,我们把它作为网关,因为它具备网关必备的功能:) 反向代理(反向代理就是服务器找来一个机器代 ...
- 洛谷U36590搬书
题目背景 陈老师喜欢网购书籍,经常一次购它个百八十本,然后拿来倒卖,牟取暴利.前些天,高一的新同学来了,他便像往常一样,兜售他的书,经过一番口舌,同学们决定买他的书,但是陈老师桌上的书有三堆,每一堆都 ...
- hdu-1176免费馅饼
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 浅谈XXE漏洞攻击与防御——本质上就是注入,盗取数据用
浅谈XXE漏洞攻击与防御 from:https://thief.one/2017/06/20/1/ XML基础 在介绍xxe漏洞前,先学习温顾一下XML的基础知识.XML被设计为传输和存储数据,其焦点 ...