一、模块、包

什么是模块?

模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称。

什么是包?

包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件,包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果你想导入其他目录下的模块,那么这个目录必须是一个包才可以导入。

导入模块

  1. import module #导入模块
  2. from module import * #导入该模块中的所有方法,慎用
  3. from module import fun as xx_fun #导入指定的方法,然后起别名
  4. from module import fun1,fun2,fun3 #导入模块下的多个方法
  5. import module,实际上就是把该模块的代码赋值给模块名,也就是module.py里面所有的代码,赋值给了module这个变量,如果是from module import fun,就是把module打开,把module里面的fun方法拿过来使用

导入模块的本质,就是把python文件拿过来执行一次。

使用包中的模块需要在__init__.py文件中from *** import xxx

二、OS模块

  window 路径分隔符\, linux或MAC  路径分隔符  /,'\\'其中一个为转义符,r'绝对路径/文件名'里面的路径分隔符不用加转义符,r'纯文本'

  1. import os
  2. print(os.getcwd())#获取当前的路径
  3. os.mkdir('wy')#当前目录下创建文件夹
  4. os.mkdir('e:\\wangyang')#绝对路径下创建文件夹
  5. os.makedirs('zz')#当前目录创建文件夹或按照绝对路径创建
  6. #创建两级目录
  7. os.mkdir('stu\\laowang')#父目录不存在会报错
  8. os.makedirs('stu\\laowang')#父目录不存在的时候会帮你创建父目录
  9. os.listdir(r'e:')#获取某个路径下的文件
  10. os.listdir('.')#当前目录下的文件,返回值是list,将所有的文件放在一个list
  11. os.rmdir('stus')#只能删除空文件夹
  1. print(os.path.join('stu','a.txt'))#根据当前系统,拼接路径,他会自动识别路径分隔符stu\a.txt
  2. print(os.sep)#当前系统的路径分隔符,window--\,linux\MAC--/
  3. print(os.path.dirname('e:\\nhy\\stu\\a.txt'))#获取父目录的路径e:\nhy\stu,根据你所传参数为准,以参数作为整个路径
  4. print(os.path.getsize('stu\\test0\\a.txt'))#获取文件的大小
  5. print(os.path.exists('user/local'))#判断文件或者文件夹,是否存在,如果不存在返回false,如果存在返回true
  6. print(os.path.isdir('stu'))#判断是否是文件夹,如果文件夹不存在返回false
  7. print(os.path.isfile('stu\\test0\\a.txt'))#判断是否是文件,如果文件不存在返回false
  8. print(os.path.split(r'.\stu\test0\a.txt'))#分割文件名与路径,结果为:('.\\stu\\test0', 'a.txt')
  1. os.walk(r'.\logs')#返回这三个信息:目录、目录包含的文件夹列表、目录包含的文件列表
  2. for cur,dir,f in os.walk(r'.\stu'):
  3. print(cur,dir,f)#cur为当前目录,dir为目录包含的所有文件夹,f为目录包含的所有文件

练习:

  1. #当前目录下,在末尾是偶数的文件夹中,创建一个a.txt文件,里面随便写点东西
  2. dirs = os.listdir('.')
  3. for i in dirs:
  4. if int(i[-1])%2==0:
  5. with open(r'.\stu\%s\a.txt'%i,'a+',encoding='utf-8') as file:
  6. file.write('wangyang奋斗奋斗')

三、random模块

  1. import random
  2. print(random.random())#随机浮点数,默认取0-1,不能指定范围,eg.0.5963688623020358
  3. print(random.randint(1,20))#随机整数
  4. print(random.randrange(1,20))#随机产生一个range
  5. print(random.choice('x23serw4'))#随机取一个元素
  6. print(random.sample('hello',2))#从序列中随机取几个元素
  7. print(random.uniform(1,9))#随机取浮点数,可以指定范围
  8. x = [1,2,3,4,6,7]
  9. random.shuffle(x)#洗牌,打乱顺序,会改变原list的值
  10. print(x)

四、date、datetime模块

  1. 时间戳 unix元年开始到现在过得秒数,格式好时间2018-07-01
  2. print(time.time())#获取当前时间戳,
  3. print(int(time.time()))#获取当前时间戳,整型
  4. print(time.strftime('%Y-%m-%d %H:%M:%S'))#2018-07-01 17:03:07 Y四位年
  5. print(time.strftime('%y-%m-%d %H:%M:%S'))#18-07-01 17:03:07 y两位年
  6. print(int(time.time())-10*24*60*60)#追溯到10天前,返回值为时间戳
    print(time.mktime(time_tuple))#时间元组转为时间戳
  7. 时间元组
  8. print(time.gmtime())#把时间戳转为元组,如果不传时间戳,那么取得是标准时区的时间
  9. print(time.localtime())#把时间戳转为元组,如果不传时间戳,那么取得是当前时区的时间
  10. print(time.localtime(int(time.time())-3*24*60*60))#把时间戳转为元组,传时间戳,获取三天前的时间元组
  11. print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(time.time())-3*24*60*60)))#将时间元组格式化,format为必需参数,时间元组为默认参数,默认为None

执行结果为:

  1. 时间戳:
  2. 1530871998.5078156
  3. 1530871998
  4. 2018-07-06 18:13:18
  5. 18-07-06 18:13:18
  6. 1530007998
  7. 时间元组:
  8. time.struct_time(tm_year=2018, tm_mon=7, tm_mday=6, tm_hour=10, tm_min=13, tm_sec=18, tm_wday=4, tm_yday=187, tm_isdst=0)
  9. time.struct_time(tm_year=2018, tm_mon=7, tm_mday=6, tm_hour=18, tm_min=13, tm_sec=18, tm_wday=4, tm_yday=187, tm_isdst=0)
  10. time.struct_time(tm_year=2018, tm_mon=7, tm_mday=3, tm_hour=18, tm_min=13, tm_sec=18, tm_wday=1, tm_yday=184, tm_isdst=0)
  11. 2018-07-03 18:13:18
  1. 时间戳转格式化好的时间
    1.首先要把时间戳转成时间元组
    2.再把时间元组转成格式好的时间
  2. def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
  3. if timestamp:
  4. time_tuple = time.localtime(timestamp) # 时间戳转成时间元组
  5. return time.strftime(format,time_tuple) #时间元组,通过format格式转为格式化好的时间
  6. return time.strftime(format)#如果没有传递时间元组,则默认格式化当前时间
  7. print(timestampToStr(2234123120,'%Y%m%d'))
  8. print(timestampToStr(format='%Y%m%d'))
    结果为:20401018 20180706
  1. 格式化好的时间,转为时间戳 1.首先要把格式化好的时间,转成时间元组 2.再把时间元组转成时间戳
  2. def strToTimestamp(format_time=None,format='%Y%m%d%H%M%S'):
  3. if format_time:
  4. time_tuple = time.strptime(format_time, format)#将格式化好的时间转换为时间元组,格式化好的时间格式必须和format格式一致
  5. print(time_tuple)
  6. return int(time.mktime(time_tuple))#将时间元组转为时间戳
  7. return int(time.time())#获取当前时间戳整型
  8. print(strToTimestamp('20401018054520','%Y%m%d%H%M%S'))
  9. 结果为:
  10. time.struct_time(tm_year=2040, tm_mon=10, tm_mday=18, tm_hour=5, tm_min=45, tm_sec=20, tm_wday=3, tm_yday=292, tm_isdst=-1)
  11. 2234123120

五、string模块

  1. import string#先引入包才能使用
  2. print(string.ascii_letters)#打印出所有的字母大小写abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
  3. print(string.ascii_lowercase)#打印出所有的字母小写abcdefghijklmnopqrstuvwxyz
  4. print(string.ascii_uppercase)#打印出所有的字母大写ABCDEFGHIJKLMNOPQRSTUVWXYZ
  5. print(string.digits)#打印出所有的数字
  6. print(string.punctuation)#打印出所有的特殊字符
  7. print(string.printable)#打印出全部

【Python】python常用模块的更多相关文章

  1. python的常用模块之collections模块

    python的常用模块之collections模块 python全栈开发,模块,collections 认识模块 什么是模块?    常见的场景:一个模块就是一个包含了python定义和声明的文件,文 ...

  2. python之常用模块

    python 常用模块 之 (subprocess模块.logging模块.re模块) python 常用模块 之 (序列化模块.XML模块.configparse模块.hashlib模块) pyth ...

  3. python之常用模块二(hashlib logging configparser)

    摘要:hashlib ***** logging ***** configparser * 一.hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法 ...

  4. Python学习——python的常用模块

    模块:用一堆代码实现了某个功能的代码集合,模块是不带 .py 扩展的另外一个 Python 文件的文件名. 一.time & datetime模块 import time import dat ...

  5. python之常用模块4

    pyinotify模块 pip3 install pyinotify pyinotify提供的事件: 事件标志 事件含义 IN_ACCESS 被监控项目或者被监控目录中的文件被访问,比如一个文件被读取 ...

  6. python 之常用模块

    一 认识模块 二 常用模块    (1)re模块    (2)collections模块 一  认识模块     (1)什么是模块      (2)模块的导入和使用 (1)模块是:一个模块就是一个包含 ...

  7. Python之常用模块--collections模块

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

  8. Python自动化开发之python的常用模块

    python常用模块 模块的种类:模块分为三种,分别是自定义模块:内置标准模块(即标准库):开源模块(第三方). 以下主要研究标准模块即标准库:标准库直接导入即可,不需要安装. 时间模块:time , ...

  9. python基础----常用模块

    一 time模块(时间模块)★★★★                                                      时间表现形式 在Python中,通常有这三种方式来表示时 ...

  10. python(五)常用模块学习

    版权声明:本文为原创文章,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明. https://blog.csdn.net/fgf00/article/details/52357 ...

随机推荐

  1. 在vue中使用插槽 slot

    插槽(slot)这个概念非常重要 插槽的使用场景1:在子组件里面显示父组件的dom <div id='root'> <child content = '<p>Dell&l ...

  2. chapter1-printf.py

    #!/usr/bin/env python # _*_ coding:utf-8 _*_ from ctypes import * libc = CDLL("libc.so.6") ...

  3. javascript中的作用域与作用域链

    前几天,在写一段js代码时,出现了一些问题,调了很长时间也没有调通,其原因是,我在处理变量的作用域时错误地沿用了C++的作用域机制.因此我回炉了一次. 如果你使用过C++或java等一系列的面向对象的 ...

  4. parameter server

    http://zeromq.org ZeroMQ \zero-em-queue\, \ØMQ\: Ø  Connect your code in any language, on any platfo ...

  5. java 基础词汇 必须 第九天

    Collection 集合 List 列表集合 Set 不重复集合 Linked 链表 Vector 线程安全集合 Hash 哈希值 tree 树型结构 Map 键值对集合 add 增加 remove ...

  6. [转]C++ Template

    引言 模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计.C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream. 函数模板 ...

  7. 爬虫学习(十三)——xpath基础学习

    lxml的作用 lxml是HTML.xml的解析器,主要的功能是如何解析和提取HTML和xml数据 lxml和正则一样,也是使用C来实现的,是一款高性能的python HTML/xml解析器,我们可以 ...

  8. MySQL中事物的详解

    1. 事物的定义及特性 事务是一组操作数据库的SQL语句组成的工作单元,该工作单元中所有操作要么同时成功,要么同时失败.事物有如下四个特性,ACID简称“酸性”. 1)原子性:工作单元中所有的操作要么 ...

  9. css样式 body的font-size 为什么用625%

    浏览器的默认高度?一般为16px. 为什么用62.5%作为body的默认样式?16px62.5%=10px.* 那么为什么一般多是 16px  *625% = 100px; <响应式Web设计实 ...

  10. 【jQuery】手机验证码倒计时效果

    <ul class="ulist"> <li class="group"> <label class="label&qu ...