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-格式化时间

 1 # time模块主要是用来和时间打交道的
 2 # 时间格式
 3     # '2018-8-20' '2018.8.20' 字符串数据类型     格式化时间 - 给人看的
 4      # 结构化时间
 5     # 1534732642.617272  浮点型数据类型,以s为单位 时间戳时间 - 给机器计算用的
 6     # 1970 1 1 0:0:0
 7 
 8 # 时间戳时间
 9 # print(time.time())
10 
11 # 格式化时间
12 # print(time.strftime('%Y-%m-%d %H:%M:%S')) # str format time
13 # print(time.strftime('%y-%m-%d %H:%M:%S')) # str format time
14 # print(time.strftime('%c'))
15 
16 # 结构化时间
17 # struct_time = time.localtime()  # 北京时间
18 # print(struct_time)
19 # print(struct_time.tm_mon)
20 
21 # 时间戳换成字符串时间
22 # print(time.time())
23 # struct_time = time.localtime(1500000000)
24 # # print(time.gmtime(1500000000))
25 # ret = time.strftime('%y-%m-%d %H:%M:%S',struct_time)
26 # print(ret)
27 
28 # 字符串时间 转 时间戳
29 # struct_time = time.strptime('2018-8-8','%Y-%m-%d')
30 # print(struct_time)
31 # res = time.mktime(struct_time)
32 # print(res)
33 
34 # 1.查看一下2000000000时间戳时间表示的年月日
35 # 时间戳 - 结构化 - 格式化
36 # struct_t = time.localtime(2000000000)
37 # print(struct_t)
38 # print(time.strftime('%y-%m-%d',struct_t))
39 
40 # 2.将2008-8-8转换成时间戳时间
41 # t = time.strptime('2008-8-8','%Y-%m-%d')
42 # print(time.mktime(t))
43 
44 # 3.请将当前时间的当前月1号的时间戳时间取出来 - 函数
45 # 2018-8-1
46 # def get_time():
47 #     st = time.localtime()
48 #     st2 = time.strptime('%s-%s-1'%(st.tm_year,st.tm_mon),'%Y-%m-%d')
49 #     return time.mktime(st2)
50 # print(get_time())
51 
52 # 4.计算时间差 - 函数
53     # 2018-8-19 22:10:8 2018-8-20 11:07:3
54     # 经过了多少时分秒
55 # str_time1 = '2018-8-19 22:10:8'
56 # str_time2 = '2018-8-20 11:07:3'
57 # struct_t1 = time.strptime(str_time1,'%Y-%m-%d %H:%M:%S')
58 # struct_t2 = time.strptime(str_time2,'%Y-%m-%d %H:%M:%S')
59 # timestamp1 = time.mktime(struct_t1)
60 # timestamp2 = time.mktime(struct_t2)
61 # sub_time = timestamp2 - timestamp1
62 # gm_time = time.gmtime(sub_time)
63 # # 1970-1-1 00:00:00
64 # print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(gm_time.tm_year-1970,gm_time.tm_mon-1,
65 #                                  gm_time.tm_mday-1,gm_time.tm_hour,
66 #                                  gm_time.tm_min,gm_time.tm_sec))
View Code

 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里 

 1 # by luffycity.com
 2 import sys
 3 # sys 是和Python解释器打交道的
 4 # sys.argv
 5 # print(sys.argv)  # argv的第一个参数 是python这个命令后面的值
 6 # usr = input('username')
 7 # pwd = input('password')
 8 # usr = sys.argv[1]
 9 # pwd = sys.argv[2]
10 # if usr == 'alex' and pwd == 'alex3714':
11 #     print('登录成功')
12 # else:
13 #     exit()
14 
15 # 1. 程序员 运维人员  在命令行运行代码
16 # 2. 操作系统input事件 阻塞 退出了CPU的竞争
17 
18 # sys.path
19 # print(sys.path)
20 # 模块是存在解释器里的么??? 不是
21 # 模块应该是存在硬盘上
22 # 但是我在使用的时候 import --> 这个模块才到内存中
23 
24 # 一个模块能否被顺利的导入 全看sys.path下面有没有这个模块所在的
25 # 自定义模块的时候 导入模块的时候 还需要再关注 sys.path
26 
27 import re
28 # sys.modules
29 # print(sys.modules)  # 是我们导入到内存中的所有模块的名字 : 这个模块的内存地址
30 # print(sys.modules['re'].findall('\d','abc126'))
View Code

 

  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()    #切换当前目录

 

 1 import os # os是和操作系统交互的模块
 2 
 3 # os.makedirs('dir1/dir2')
 4 # os.mkdir('dir3')
 5 # os.mkdir('dir3/dir4')
 6 
 7 # 只能删空文件夹
 8 # os.rmdir('dir3/dir4')
 9 # os.removedirs('dir3/dir4')
10 # os.removedirs('dir1/dir2')
11 
12 # print(os.stat(r'D:\sylar\s15\day18\6.os模块.py'))
13 
14 # exec/eval执行的是字符串数据类型的 python代码
15 # os.system和 os.popen是执行字符串数据类型的 命令行代码
16 
17 # os.'system('dir')  # 执行操作系统的命令,没有返回值,实际的操作/删除一个文件 创建一个文件夹 exec
18 # 程序要处理这些路径
19 # ret = os.popen('dir) # 是和做查看类的操作
20 # s =ret.read()
21 # print(s)
22 # print(s.split('\n'))
23 
24 # os.listdir / os.path.join
25 # file_lst = os.listdir('D:\sylar\s15')
26 # for path in file_lst:
27 #     print(os.path.join('D:\sylar\s15',path))
28 
29 # print('-->',os.getcwd())  # current work dir 当前工作目录
30 # # 并不是指当前文件所在的目录
31 # # 当前文件是在哪个目录下执行的
32 # ret = os.popen('dir') # 是和做查看类的操作
33 # s =ret.read()
34 # print(s)
35 
36 # os.chdir('D:\sylar\s15\day18')  # 切换当前的工作目录
37 # ret = os.popen('dir') # 是和做查看类的操作
38 # s =ret.read()
39 # print(s)
View Code

 

posted @ 2019-10-17 20:24  小白686  阅读(176)  评论(0编辑  收藏  举报