zoukankan      html  css  js  c++  java
  • python几个重要的模块备忘

    一:模块使用方法

    二:时间模块time

    三:系统接口模块os和sys

    四:数据保存的几个模块json,pickle,xml,configparse

    五:数据复制移动模块shutil

    六:日志模块logging

    七:正则表达式re

    八:加密hashlib

    模块用来分割一个程序,就像用函数或者类来分割程序一样。将一个程序的不同功能分割成多个文件,可以提高代码可读性。可能一个py文件仅完成一个算法,或完成一个socket,可以重复调用。python使用import来调用模块,模块可以是内置的,也可以自定义,也可以使用开源模块

    模块使用方法:

    module1

    def showStar(num):     #数星星的方法
        print("sky has %s star"%num)
    class starSky:        #数星星的类
        def __init__(self,num):
            self.num=num
            self.show()
        def show(self):
            print("sky has %s star"%self.num)

    调用者

    import module1    #导入模块
    from module1 import starSky      #导入模块中的类
    from module1 import showStar as show     #导入模块中的函数
    #执行时,导入的东西都会被解析
    a=starSky(10)
    show(12)

     如果module1和module2的关系是:

    | 调用者.py
    | __init__.py
    |
    ---module_dir
        module1.py
        __init__.py

    调用module1的方法:

    import module_dir.module1 as mod1
    from module_dir.module1 import starSky
    
    a=starSky(10)
    mod1.showStar(12)

    能被导入的关键因素是环境变量,执行的python脚本的父目录作为环境变量:

    >>> import sys
    >>> sys.path
    ['D:\visual doc\pyProject\模块研究专题', 'E:\软件\python\python35.zip', 'E:\软件\python\DLLs', 'E:\软件\python\lib', 'E:\软件\python', 'E:\软件\python\lib\site-packages']
    module_dir在
    D:\visual doc\pyProject\模块研究专题下面,所以找到了

    如果是这样子:

    | module1.py
    | __init__.py
    |
    ---module_dir
        __init__.py
        调用者.py

    调用者的父目录module_dir下没有module1就会报错

    import sys
    sys.path.append("..")        #sys.path是环境变量的列表,只要在后面加上..就可以表示module1的父目录
    import module1 as mod1
    from module1 import starSky
    
    a=starSky(10)
    mod1.showStar(12)

    | __init__.py
    | 调用者.py
    |
    +---module_dir
        class1.py
        module1.py
        __init__.py

    调用者调用module1:import module_dir.module1

    module1调用class1:import class1

    执行调用者,class1会找不到,因为环境变量是调用者的父目录,class1在这个目录下找不到,所以在import时应该要把module_dir的路径存到环境变量

    也就是module1的__file__的父目录的绝对路径

    import sys
    import os
    sys.path.append(os.path.dirname(os.path.abspath(__file__)))

    所以:1个习惯就是,当要调用当前目录的另一个文件,就把当前目录的绝对路径存到环境变量

    更绝一点,每次创建文件就把上面的代码写进去

    __init__.py

    models目录下面的__init__.py:

    def test1():
        print("ddd")

    调用:

    from models import test1
    test1()

    __init__下的所有内容都可以被models直接调用

    几个重要的内置模块:

    1,时间模块time

    熟悉C语言的time.h的,类推python的这个模块,都很相似,作为一个内置模块函数,只要能拿来用就可以了

    成员

    参数/返回

    说明

    举例/返回结果

    time.clock()

    返回处理器时间

    time.time()

    返回值:当前时间的时间戳

    返回当前时间的时间戳

    结果: 1471246422.8152277

    time.ctime()

    参数一:时间戳

    返回值:时间字符串

    默认返回当前时间,可以指定时间戳,返回时间

    print(time.ctime(0))

    结果:Thu Jan  1 08:00:00 1970

    time.gmtime()

    time.localtime()

    参数一:时间戳

    localtime返回当前时间的struct_time

    gmtime返回当前格林时区的时间

    time.struct_time(

    tm_year=1970, tm_mon=1,

    tm_mday=1,

    tm_hour=0,

    tm_min=0,

    tm_sec=0,

    tm_wday=3,

    tm_yday=1,

    tm_isdst=0)

    time.mktime()

    参数一:struct_time

    struct_time转换成时间戳

    time.strftime()

    参数一:指定格式

    参数二:传入struct_time

    返回:格式化时间字符串

    struct_time转换成格式化时间,参数一和linux的date一样

    2016-08-15 08:02:28

    time.strptime()

    参数一:字符串

    参数二:格式

    返回:struct_time

    time.sleep()

    参数一:秒数

    指定时间暂停

    time.sleep(3)暂停3秒

    详解->c语言的time.h解释python的time

    2,与操作系统相关,os和sys模块

    os模块有可以执行操作系统的命令的函数,有目录系列(目录增删,移动,复制,属性,软硬链接),有路径系列(当前路径,上级路径,绝对路径),好多。。。

    判断当前操作系统:

    os.name     windows-->'nt'   linux/unix-->'posix'

    sys.platform      windows-->'win32'    linux-->'linux'

    直接进行命令行操作:

    os.system(command)      直接进行命令操作

    os.popen(cmd,mode,bufsize)      命令操作的结果返回给变量,返回的是<os._wrap_close object at 0x000002308955DDA0>

    目录/文件系列:

    os.chdir(path)更改当前目录

    os.listdir(path)列出当前目录下的文件

    os.getcwd()当前目录的绝对路径

    os.makedirs(path)/os.removedirs(path)递归添加/删除目录

    os.remove(file)删除

    os.rename(old,new)重命名

    路径系列

    os.environ/sys.path:

    os.environ是系统的环境变量

    sys.path是python默认路径

    os.path.abspath(path)  参数path的绝对路径

    os.path.split(path)  把参数path分为目录和文件

    os.path.dirname(path)/os.path.basename(path)

    os.path.isdir(path)/os.path.isfile(file)判断路径和文件

    os.path.join(path,name) path和name合并

    os.path.splitext(file)  文件拆分为文件名和扩展名

    sys.argv接收运行参数

    3,数据文档和配置文档:

    详解->轻量数据交换xml,json,ini

    4,shutil文件,文件夹,压缩包拷贝,拷贝文件对象

     5,logging日志模块

    6,re正则表达式

    7,hashlib

  • 相关阅读:
    金蝶KIS 13.0专业版破解方法破解安装流程 金蝶KIS 13.0专业版安装流程
    android利用zbar二维码扫描-(解决中文乱码及扫描区域定义)
    Android 电子邮件发送成功与失败的提示
    WebView的应用 持续积累
    [LeetCode]Implement Stack using Queues
    android开发 Fragment嵌套调用常见错误
    【剑指Offer学习】【面试题55:字符流中第一个不反复的字符】
    UIWebView的使用,简单浏览器的实现
    php 发送与接收流文件
    IHttpModule在webconfig中的注册
  • 原文地址:https://www.cnblogs.com/euewrqe/p/5782083.html
Copyright © 2011-2022 走看看