1.常用模块:(1)collectiaons模块 (2)与时间相关  time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json  ,   pickle

2.random模块

3.time模块

4.sys模块

5.os模块 部分知识点

一. random 模块:取随机数的模块

(1)取随机小数: 数学计算

print(random.random()) # 取0-1之间的小数

print(random.uniform(1,2)) # 取1-2之间的小数

# 结果: 0.9234934964280419 1.5132205002520736

(2)取随机整数: 彩票,抽奖

  1. import random
    print(random.randint(1,2)) # [1,2] #顾头顾尾
  2. print(random.randrange(1,2)) # [1,2) #顾头不顾尾
  3. print(random.randrange(1,200,2)) # [1,2) #1-200之间的奇数
  4.  
  5. #结果:
  6. 1
  7. 1
  8. 141

(3)从列表上中抽取值: 抽奖

  1. l = ['a','b',(1,2),123]
  2. print(random.choice(l)) # 取一个
  3. print(random.sample(l,2)) # 取多个
  4.  
  5. #结果:
  6. a
  7. ['b', 'a']

(4)打乱一个列表的顺序: 在原列表的基础上直接进行修改,节省空间: 洗牌

  1. l = ['a','b',(1,2),123]
  2. random.shuffle(l)
  3. print(l) # 打乱顺序
  4.  
  5. #结果:
  6. [123, 'b', 'a', (1, 2)]

二.time模块:time模块主要是用来和时间打交道的.

import time

时间格式: 格式化时间,时间戳时间,结构化时间

'2018-8-20' '2018.8.20' 字符串数据类型 格式化时间 - 给人看的

结构化时间 1534732642.617272 浮点型数据类型,以s为单位 时间戳时间 - 给机器计算用的  伦敦时间开始计算:1970 1 1 0:0:0

时间戳时间;

print(time.time()) #结果:1534764717.8744347

格式化时间;

  1. print(time.strftime('%Y-%m-%d %H:%M:%S')) # str format time
  2. print(time.strftime('%y-%m-%d %H:%M:%S')) # str format time
  3. print(time.strftime('%c'))
  4.  
  5. #结果:
  6. 2018-08-20 19:32:43
  7. 18-08-20 19:32:43
  8. Mon Aug 20 19:32:43 2018

结构化时间:

  1. struct_time = time.localtime() # 北京时间
  2. print(struct_time)
  3. print(struct_time.tm_mon) #月份
  4.  
  5. #结果:
  6. time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=19, tm_min=34, tm_sec=11, tm_wday=0, tm_yday=232, tm_isdst=0)
  7.  
  8. 8

时间戳时间转换成字符串时间:

  1. struct_time = time.localtime(1500000000)
  2. print(time.gmtime(1500000000))
  3. ret = time.strftime('%y-%m-%d %H:%M:%S',struct_time)
  4. print(ret)
  5.  
  6. #结果:
  7. time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
  8. 17-07-14 10:40:00

字符串时间转换成时间戳时间:

  1. struct_time = time.strptime('2018-8-8','%Y-%m-%d')
  2. print(struct_time)
  3. res = time.mktime(struct_time)
  4. print(res)
  5.  
  6. #结果:
  7. time.struct_time(tm_year=2018, tm_mon=8, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=220, tm_isdst=-1)
  8. 1533657600.0

三.sys模块:和python解释器打交道的模块

(1)sys.argv:argv的第一个参数是python这个命令后面的值.

注:当你在命令行执行python文件,而不是在pycharm中执行这个文件的时候,

你的命令>>> python python文件的路径 参数1 参数2 参数3 ...

sys.argv = ['python文件的路径','参数1','参数2','参数3'...]

好处:这些需要输入的参数不需要在程序中以input的形式输入了

文件名: 文件路径不能有中文 所有的文件名都应该符合变量命名规范

整个文件路径不能有空格 不支持中文

(2)sys.path:

注:模块搜索路径 是一个列表,这个列表中存的都是文件夹的绝对路径

一个模块能被导入,是因为这个模块所在的文件夹在sys.path的列表中

内置模块和第三方模块安装之后,不需要操作sys.path,直接用就行了

如果一个模块导入不进来,那把这个模块的文件夹添加到sys.path中就行了

模块本来就在解释器里么?

不是的,模块本来应该是存在硬盘上.但是在使用时,通过 import ..... 模块  这时,模块才到内存中.

一个模块能否被顺利的引入,全看sys.path下面有没有这个模块的所在.(自定义模块的时候,还需要再关注sys.path)

(3)sys.modules: 是导入到内存中的所有模块的名字:这个模块的内存地址.

  1. print(sys.modules) # 是我们导入到内存中的所有模块的名字 : 这个模块的内存地址
  2.  
  3. #结果:
  4. {'builtins': <module 'builtins' (built-in)>, 'sys': <module 'sys' (built-in)>, '_frozen_importlib': <module '_frozen_importlib' (frozen)>, '_imp': <module '_imp' (built-in)>, '_warnings': <module '_warnings' (built-in)>, '_thread': <module '_thread' (built-in)>, '_weakref': <module '_weakref' (built-in)>, '_frozen_importlib_external': <module '_frozen_importlib_external' (frozen)>, '_io': <module 'io' (built-in)>, 'marshal': <module 'marshal' (built-in)>, 'nt': <module 'nt' (built-in)>, 'winreg': <module 'winreg' (built-in)>, 'zipimport': <module 'zipimport' (built-in)>, 'encodings': <module 'encodings' from 'C:\\Python36\\lib\\encodings\\__init__.py'>, 'codecs': <module 'codecs' from 'C:\\Python36\\lib\\codecs.py'>, '_codecs': <module '_codecs' (built-in)>, 'encodings.aliases': <module 'encodings.aliases' from 'C:\\Python36\\lib\\encodings\\aliases.py'>, 'encodings.utf_8': <module 'encodings.utf_8' from 'C:\\Python36\\lib\\encodings\\utf_8.py'>, '_signal': <module '_signal' (built-in)>, '__main__': <module '__main__' from 'E:/python_01/day18/code/day18/5.sys模块.py'>, 'encodings.latin_1': <module 'encodings.latin_1' from 'C:\\Python36\\lib\\encodings\\latin_1.py'>, 'io': <module 'io' from 'C:\\Python36\\lib\\io.py'>, 'abc': <module 'abc' from 'C:\\Python36\\lib\\abc.py'>, '_weakrefset': <module '_weakrefset' from 'C:\\Python36\\lib\\_weakrefset.py'>, 'site': <module 'site' from 'C:\\Python36\\lib\\site.py'>, 'os': <module 'os' from 'C:\\Python36\\lib\\os.py'>, 'errno': <module 'errno' (built-in)>, 'stat': <module 'stat' from 'C:\\Python36\\lib\\stat.py'>, '_stat': <module '_stat' (built-in)>, 'ntpath': <module 'ntpath' from 'C:\\Python36\\lib\\ntpath.py'>, 'genericpath': <module 'genericpath' from 'C:\\Python36\\lib\\genericpath.py'>, 'os.path': <module 'ntpath' from 'C:\\Python36\\lib\\ntpath.py'>, '_collections_abc': <module '_collections_abc' from 'C:\\Python36\\lib\\_collections_abc.py'>, '_sitebuiltins': <module '_sitebuiltins' from 'C:\\Python36\\lib\\_sitebuiltins.py'>, 'sysconfig': <module 'sysconfig' from 'C:\\Python36\\lib\\sysconfig.py'>, 'sitecustomize': <module 'sitecustomize' from 'C:\\Program Files\\JetBrains\\PyCharm 2018.1.4\\helpers\\pycharm_matplotlib_backend\\sitecustomize.py'>, 're': <module 're' from 'C:\\Python36\\lib\\re.py'>, 'enum': <module 'enum' from 'C:\\Python36\\lib\\enum.py'>, 'types': <module 'types' from 'C:\\Python36\\lib\\types.py'>, 'functools': <module 'functools' from 'C:\\Python36\\lib\\functools.py'>, '_functools': <module '_functools' (built-in)>, 'collections': <module 'collections' from 'C:\\Python36\\lib\\collections\\__init__.py'>, 'operator': <module 'operator' from 'C:\\Python36\\lib\\operator.py'>, '_operator': <module '_operator' (built-in)>, 'keyword': <module 'keyword' from 'C:\\Python36\\lib\\keyword.py'>, 'heapq': <module 'heapq' from 'C:\\Python36\\lib\\heapq.py'>, '_heapq': <module '_heapq' (built-in)>, 'itertools': <module 'itertools' (built-in)>, 'reprlib': <module 'reprlib' from 'C:\\Python36\\lib\\reprlib.py'>, '_collections': <module '_collections' (built-in)>, 'weakref': <module 'weakref' from 'C:\\Python36\\lib\\weakref.py'>, 'collections.abc': <module 'collections.abc' from 'C:\\Python36\\lib\\collections\\abc.py'>, 'sre_compile': <module 'sre_compile' from 'C:\\Python36\\lib\\sre_compile.py'>, '_sre': <module '_sre' (built-in)>, 'sre_parse': <module 'sre_parse' from 'C:\\Python36\\lib\\sre_parse.py'>, 'sre_constants': <module 'sre_constants' from 'C:\\Python36\\lib\\sre_constants.py'>, '_locale': <module '_locale' (built-in)>, 'copyreg': <module 'copyreg' from 'C:\\Python36\\lib\\copyreg.py'>}

四.os模块: 和操作系统交互的模块

补充: 

os模块主要所做的事儿

  定制了很多方法 间接的帮助你去调用操作系统的命令 获得结果

  然后帮助你分析整理成我们需要的数据类型的形态

  你也可以os.popen/os.system直接取调用操作系统的命令 获得结果

  但是 分析和整理的工作需要你自己做


  用os模块的方法本身能够完成的功能我们就用定制好的方法就够了

  如果有一天 你发现os模块定制好的功能解决不了我们的问题了

  而刚好操作系统的命令能够很好地帮助我们解决问题

  这个时候就用os.popen/os.system

(1)与文件夹操作相关的

建立文件夹:

os.makedirs('dirname1/dirname2'):可生成多层递归目录

os.mkdir('dirname'):生成单级目录;相当于shell中mkdir dirname

  1. os.makedirs('dir1/dir2') #建立多个文件夹
  2. os.mkdir('dir3') #建立一个文件夹
  3. os.mkdir('dir3/dir4') #建立多个文件夹

只能删除空文件夹:

  1. os.rmdir('dir3/dir4')
  2. os.removedirs('dir3/dir4')
  3. os.removedirs('dir1/dir2') #下面如果有非空子文件夹,删除上一层

os.rmdir('dirname'):删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.removedirs('dirname1');若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

整理文件夹:

  1. file_lst = os.listdir('D:\sylar\s15')
  2. for path in file_lst:
  3. print(os.path.join('D:\sylar\s15',path)) # 可以在不同的系统运行

os.listdir('dirname'):查看当前目录下的所有文件夹和文件

列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.path.join: 拼接目录

os.stat('path/filename'): 获取文件的信息

(2)和 运行,执行程序 相关的:

exec/eval执行的是字符串数据类型的 python代码

os.system和 os.popen是执行字符串数据类型的 命令行代码

补充:

os.system("bash command") 运行shell命令,直接显示

os.popen("bash command).read() 运行shell命令,获取执行结果

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径

os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd

  1. import os
  2. 统计文件大小
  3. os.path.getsize('路径') # python的命令
  4. dir 路径 \C # 操作系统的命令
  5.  
  6. 帮助你显示当前路径下的所有文件和文件夹
  7. os.system('dir 路径') # 使用python语言直接执行操作系统的命令
  8. os.listdir('路径') # 使用python语言的os模块提供的方法 间接调用了操作系统命令
  9.  
  10. # 程序员 python开发的
  11. # 和python代码打交道
  12.  
  13. # 学习python的人
  14. # web开发
  15. # 运维开发 : 运维功底 熟悉操作系统命令
  16.  
  17. exec('字符串数据类型的python代码')
  18. eval('执行字符串数据类型的python代码')
  19.  
  20. os.system('执行字符串数据类型的操作系统命令')
  21. os.popen('执行字符串数据类型的操作系统命令,并返回结果')
  22.  
  23. os.getcwd # 获取当前执行命令的时候所在的目录
  24. os.chdir # 修改当前执行命令的时候所在的目录

os.system('dir'):执行操作系统的命令,没有返回值,实际的操作/删除一个文件 创建一个文件夹 exec

程序要处理这些路径           运行shell命令,直接显示

os.popen('die').read:适合做查看类的操作     运行shell命令,获取执行结果

os.getcwd() : current work dir 当前工作目录,并不是指当前文件所在的目录,是指当前文件是在哪个目录下执行的.   获取当前工作目录,即当前python脚本工作的目录路径

os.chdir('D:\sylar\s15\day18'): 切换当前的工作目录.         改变当前脚本工作目录;相当于shell下cd

python 常用模块(一): random , time , sys , os模块部分知识.的更多相关文章

  1. day18 python模块 random time sys os模块

    day18 python   一.random模块     取随机整数 import random print(random.randint(1,2))                 #顾头顾尾 p ...

  2. day15-Python运维开发基础(json序列化模块、random / time / zipfile / OS模块函数)

    1. json序列化模块 # ### json """ 所有编程语言都能够识别的数据格式叫做json,是字符串 json: 将数据类型序列化成字符串 pickle:将数据 ...

  3. sys,os,模块-正则表达式

    # *__conding:utf-8__* """"我是注释""" sys,os模块 import sysimport os pr ...

  4. day2_python的数据类型,sys,os模块,编码解码,列表,字典

    今天主要了解了python的数据类型,sys,os模块,编码解码,列表,字典 1.数据类型:int(python3没有长整型)文本总是Unicode,str表示二进制用byte类表示布尔型:True( ...

  5. time random sys os 模块

    时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日 ...

  6. random,time,sys,os,序列化模块

    random模块(随机数模块) 取随机小数: random.random() 取0-1之间的小数 random.uniform(x, y) 取x-y之间的小数 取随机整数: random.randin ...

  7. python 全栈开发,Day28(复习,os模块,导入模块import和from)

    一.复习 collections 增加了一些扩展数据类型 :namedtuple orderdict defaltdict队列和栈time 时间 三种格式 : 时间戳 结构化 字符串random 随机 ...

  8. time | sys | os 模块,递归删除文件,项目分析

    一,复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块 ...

  9. random,time,sys,os

    import random print(random.random()) #(0,1)大于0且小于1之间的小数 print(random.randint(1,3)) #大于等于1且小于等于3之间的整数 ...

随机推荐

  1. Centos7 搭建Gitlab服务器并配置项目全过程

    https://blog.csdn.net/Abysscarry/article/details/79402695 gitlab与jenkins整合搭建      https://blog.csdn. ...

  2. 使用子查询创建表(oracle)

    转自:https://blog.csdn.net/lxh123456789asd/article/details/81164321 语句: CREATE TABLE tablename[(column ...

  3. Mac安装Python3报错Permission denied @ dir_s_mkdir - /usr/local/Frameworks

    brew安装Python3时出现的问题: Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks /usr/local/Frame ...

  4. png 2 icon

    http://www.easyicon.net/covert/ 这个网页可以转换png图片为icon格式

  5. 03_JSX理解和使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. idea 常见快捷键记录下

    keymaps 选择的是eclipse ctrl shif u              大小写转换 ctrl  o                   类方法列表 ctrl shif alt u  ...

  7. MOBA项目问题记录

    1,动态变化的文本,使用较多时,耗时大,原因:只要字符串发生改变就会重绘,原理:每个字符的宽度不一样 项目中使用了网上写的一个文本控件,大概类型UGUI的东西,实现了字符缓存,绘制过的字符就不会再重建 ...

  8. 遍历DOM树,获取所有兄弟节点

    获取兄弟节点的常用方法有:  方法  说明 siblings()  选取所有兄弟节点 next()  选取后面兄弟节点 nextAll()  选取所有后面的兄弟节点 nextUntil()  选取所有 ...

  9. ReultSet有什么作用和使用

    结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等. int col ...

  10. [PHP]PHP页面静态化:真静态的两种方案

    ---------------------------------------------------------------------------------------------- /*|-- ...