day 18 random模块 时间模块 sys模块 os模块
import random
利用random模块可以进行从一个列表或者数字范围之间随机取出一个数字
# 取随机小数 : 数学计算
print(random.random()) # 取0-1之间的小数
print(random.uniform(1,2)) # 取1-2之间的小数 # 取随机整数 : 彩票 抽奖
print(random.randint(1,2)) # [1,2]
print(random.randrange(1,2)) # [1,2)
print(random.randrange(1,200,2)) # [1,2) # 从一个列表中随机抽取值 : 抽奖
l = ['a','b',(1,2),123]
print(random.choice(l))
print(random.sample(l,2)) # 打乱一个列表的顺序,在原列表的基础上直接进行修改,节省空间
洗牌
random.shuffle(l)
print(l)
时间模块 time
time.sleep(5) 程序走到这会等待5秒
一、时间戳 time.time()
二、结构化时间 time.localtime
只能取值不能修改
三、格式化时间 %m/%d/%Y %H:%M:%S
time.strftime('%Y-%m-%d')
四、元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分, 秒,一年中第几周,一年中第几天等)
时间戳 -localtime/gmtime->结构化时间 -strft ime->格式化时间
时间戳 <-mktime-结构化时间 <-strptime-格式化时间
# time模块主要是用来和时间打交道的
# 时间格式
# '2018-8-20' '2018.8.20' 字符串数据类型 格式化时间 - 给人看的
# 结构化时间
# 1534732642.617272 浮点型数据类型,以s为单位 时间戳时间 - 给机器计算用的
# 1970 1 1 0:0:0 # 时间戳时间
# print(time.time()) # 格式化时间
# print(time.strftime('%Y-%m-%d %H:%M:%S')) # str format time
# print(time.strftime('%y-%m-%d %H:%M:%S')) # str format time
# print(time.strftime('%c')) # 结构化时间
# struct_time = time.localtime() # 北京时间
# print(struct_time)
# print(struct_time.tm_mon) # 时间戳换成字符串时间
# print(time.time())
# struct_time = time.localtime(1500000000)
# # print(time.gmtime(1500000000))
# ret = time.strftime('%y-%m-%d %H:%M:%S',struct_time)
# print(ret) # 字符串时间 转 时间戳
# struct_time = time.strptime('2018-8-8','%Y-%m-%d')
# print(struct_time)
# res = time.mktime(struct_time)
# print(res) # 1.查看一下2000000000时间戳时间表示的年月日
# 时间戳 - 结构化 - 格式化
# struct_t = time.localtime(2000000000)
# print(struct_t)
# print(time.strftime('%y-%m-%d',struct_t)) # 2.将2008-8-8转换成时间戳时间
# t = time.strptime('2008-8-8','%Y-%m-%d')
# print(time.mktime(t)) # 3.请将当前时间的当前月1号的时间戳时间取出来 - 函数
# 2018-8-1
# def get_time():
# st = time.localtime()
# st2 = time.strptime('%s-%s-1'%(st.tm_year,st.tm_mon),'%Y-%m-%d')
# return time.mktime(st2)
# print(get_time()) # 4.计算时间差 - 函数
# 2018-8-19 22:10:8 2018-8-20 11:07:3
# 经过了多少时分秒
# str_time1 = '2018-8-19 22:10:8'
# str_time2 = '2018-8-20 11:07:3'
# struct_t1 = time.strptime(str_time1,'%Y-%m-%d %H:%M:%S')
# struct_t2 = time.strptime(str_time2,'%Y-%m-%d %H:%M:%S')
# timestamp1 = time.mktime(struct_t1)
# timestamp2 = time.mktime(struct_t2)
# sub_time = timestamp2 - timestamp1
# gm_time = time.gmtime(sub_time)
# # 1970-1-1 00:00:00
# print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(gm_time.tm_year-1970,gm_time.tm_mon-1,
# gm_time.tm_mday-1,gm_time.tm_hour,
# gm_time.tm_min,gm_time.tm_sec))
sys 模块 和python解释器打交道
sys.argv
python python文件的路径 参数1 参数2 参数3 ...
sys.argv = ['python文件的路径','参数1','参数2','参数3'...]
好处: 这些需要输入的参数不需要在程序中以input的形式输入了
文件名: 文件路径不能有中文 所有的文件名都应该符合变量命名规范
整个文件路径不能有空格 不支持中文
sys.path
模块存在硬盘上
是一个列表,这个列表中存的都是文件夹的绝对路径
一个模块能被导入,是因为这个模块所在的文件夹在sys.path的列表中
内置模块和第三方模块安装之后,不需要操作sys.path,直接用就行了
如果一个模块导入不进来,那把这个模块的文件夹添加到sys.path中就行了
import sys
print(sys.path)
# sys.modules
# 所有被导入的模块的内存地址都存在sys.modules里
# by luffycity.com
import sys
# sys 是和Python解释器打交道的
# sys.argv
# print(sys.argv) # argv的第一个参数 是python这个命令后面的值
# usr = input('username')
# pwd = input('password')
# usr = sys.argv[1]
# pwd = sys.argv[2]
# if usr == 'alex' and pwd == 'alex3714':
# print('登录成功')
# else:
# exit() # 1. 程序员 运维人员 在命令行运行代码
# 2. 操作系统input事件 阻塞 退出了CPU的竞争 # sys.path
# print(sys.path)
# 模块是存在解释器里的么??? 不是
# 模块应该是存在硬盘上
# 但是我在使用的时候 import --> 这个模块才到内存中 # 一个模块能否被顺利的导入 全看sys.path下面有没有这个模块所在的
# 自定义模块的时候 导入模块的时候 还需要再关注 sys.path import re
# sys.modules
# print(sys.modules) # 是我们导入到内存中的所有模块的名字 : 这个模块的内存地址
# print(sys.modules['re'].findall('\d','abc126'))
os 模块
创建
os.makedirs('dir1/dir2') 创建多级文件夹
os.mkdir('dir3') 创建单个文件夹
删除
# 只能删空文件夹
# os.rmdir('dir3/dir4')
# os.removedirs('dir3/dir4')
os.listdir () : 列出指定目录下所有文件以及文件夹
file-lst = os.listdir('d:\sylar\s15')
for path in file-lst
print(os.path.join('d:\sylar\s15',path)) #路径拼接,自动识别path 和'd:\sylar\s15'之间的分隔符
os.stat() 获取文件、目录信息
exec/eval执行的是字符串数据类型的 python代码
os.system和 os.popen是执行字符串数据类型的 命令行代码
os.system() 负责执行操作系统的命令,没有返回值 可以做实际操作,删除文件、创建文件夹
os.popen() 适合做查看类型
os.getcwd() #当前工作目录
os.chdir() #切换当前目录
import os # os是和操作系统交互的模块
# os.makedirs('dir1/dir2')
# os.mkdir('dir3')
# os.mkdir('dir3/dir4')
# 只能删空文件夹
# os.rmdir('dir3/dir4')
# os.removedirs('dir3/dir4')
# os.removedirs('dir1/dir2')
# print(os.stat(r'D:\sylar\s15\day18\6.os模块.py'))
# exec/eval执行的是字符串数据类型的 python代码
# os.system和 os.popen是执行字符串数据类型的 命令行代码
# os.'system('dir') # 执行操作系统的命令,没有返回值,实际的操作/删除一个文件 创建一个文件夹 exec
# 程序要处理这些路径
# ret = os.popen('dir) # 是和做查看类的操作
# s =ret.read()
# print(s)
# print(s.split('\n'))
# os.listdir / os.path.join
# file_lst = os.listdir('D:\sylar\s15')
# for path in file_lst:
# print(os.path.join('D:\sylar\s15',path))
# print('-->',os.getcwd()) # current work dir 当前工作目录
# # 并不是指当前文件所在的目录
# # 当前文件是在哪个目录下执行的
# ret = os.popen('dir') # 是和做查看类的操作
# s =ret.read()
# print(s)
# os.chdir('D:\sylar\s15\day18') # 切换当前的工作目录
# ret = os.popen('dir') # 是和做查看类的操作
# s =ret.read()
# print(s)
day 18 random模块 时间模块 sys模块 os模块的更多相关文章
- python note 17 random、time、sys、os模块
1.random模块(取随机数模块) # 取随机小数 : 数学计算 import random print(random.random())# 取0-1之间的小数 print(random.unifo ...
- python中sys和os模块的使用
在python中,sys,os模块是非常强大的,提供了许多对文件夹.文件和路径的操作方法 sys模块 sys.argv #命令行执行脚本,其实它就是一个列表 ,sys.argv[0] 是程序自身路 ...
- Python学习日记(八)—— 模块一(sys、os、hashlib、random、time、RE)
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- python笔记6 模块与包 程序开发规范 包 re sys time os模块
模块与包 python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取. python文件分为:执行文件(解释器运行的文件),被引用文件(import) 模块引用一共发生了3件事: 1.他 ...
- 【Python】 sys和os模块
sys sys模块能使程序访问于python解释器联系紧密的变量和函数 ● sys中的一些函数和变量 argv 命令行参数构成的列表 path 查找所有可用模块所在的目录名的列表 platform 查 ...
- sys、os 模块
sys 模块常见函数 sys.argv #命令行参数List,第一个元素是程序本身路径 sys.exit(n) #退出程序,正常退出时exit(0) sys.vers ...
- python的sys和os模块
一.sys sys.argv:实现从程序外部向程序传递参数. 其中sys.argv[0]为脚本的名称,所以要判断是否有参数传入可以:if len(sys.argv) > 1. sys.exi ...
- python学习笔记:sys、os模块
os模块:负责程序与操作系统的交互,提供了访问操作系统底层的接口; sys模块:负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境. --os 常用方法-- ...
- Python中sys和os模块的区别
sys: This module provides access to some variables used or maintained by the interpreter and to func ...
- 【Python】【有趣的模块】【sys&time&os】
[模块] sys.path.append('C:/Users/wangxue1/PycharmProjects/selenium2TestOne') 然后就可以直接import 这个路径下的模块了 [ ...
随机推荐
- vue 列表的排序过渡 shuffle遇到的问题
内部的实现,Vue 使用了一个叫 FLIP 简单的动画队列使用 transforms 将元素从之前的位置平滑过渡新的位置 需要注意的是使用 FLIP 过渡的元素不能设置为 display: inlin ...
- 第一篇:版本控制git之仓库管理
---恢复内容开始--- 再开始这个话题之前,让我想起了一件很痛苦的事情,在我大学写毕业论文的时候,我当时的文件是这样保存的 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc ...
- c#通过libreOffice实现 office文件转pdf文件
一.安装libreOffice 点击官网下载libreOffice 二.创建一个新的项目LibreOffice 创建一个新的项目,方便后面调用 添加下面代码 public class OfficeCo ...
- List、Set集合系列之剖析HashSet存储原理(HashMap底层)
目录 List接口 1.1 List接口介绍 1.2 List接口中常用方法 List的子类 2.1 ArrayList集合 2.2 LinkedList集合 Set接口 3.1 Set接口介绍 Se ...
- SpringBoot中在除Controller层 使用Validation的方式
说明:Validation 在Controller层使用Validation应该都使用过了,以下方式可以使用 Validation 在Service层完成对dto的属性校验,避免写一堆的 if els ...
- 浅谈Retinex
Retinex是上个世纪七十年代由Land提出的色彩理论.我认为其核心思想基于俩点 (1)在颜色感知时,人眼对局部相对光强敏感程度要优于绝对光强. (2)反射分量R(x,y)储存有无光源物体的真实模样 ...
- mock和axios常见的传参方式
第一次接手项目,传参方式还有些吃力,因此做一下总结. 首先我们需要会看swagger中的接口.里面写了某个接口需要接收什么样的值,前端怎么传递这个值 在mock中的传参方式: mock中传参的方式有两 ...
- python的位置参数、关键字参数、收集参数,关键字收集参数混合调用问题
参数混合调用顺序用法: 函数中参数顺序为:普通参数,收集参数,关键字参数,关键字收集参数,其顺序不能颠倒,颠倒会报错. 普通参数.关键字参数可以有n个,对量没有具体要求,收集参数和关键字收集参数要么没 ...
- 一个自动管理项目的Makefile(C语言)
Linux 是所有嵌入式软件工程师绕不过去的坎, makefile 是在Linux系统中绕不过去的坎. 花了几天时间初步学习和了解了makefile 的作用以及功能,并且制作了一个通用型的makefi ...
- [考试反思]1028csp-s模拟测试91:预估
这一轮是要闹哪样啊???前十都死活进不去??? 能不能不要到联赛前突然连续掉链子啊!!! 总算难得的切掉了T1.然后又一次把T2和T3的难度估反了 结果给T2剩下了30分钟,想到正解来不及打了. 然后 ...