zoukankan      html  css  js  c++  java
  • 06 python学习笔记-常用模块

    一.  模块、包

    1、什么是模块?

      Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句,是用来组织代码的。模块能定义函数,类和变量,模块里也能包含可执行的代码。

    2、模块分类:

    • 标准库:python内置的
    • 开源模块:第三方
    • 自定义模块:自己写的

    3、什么是包?

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

    这个目录必须是一个包才可以导入。

    4、导入模块:

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

    导入模块的本质,就是把python文件拿过来执行一次。使用包中的模块需要在__init__.py文件中from . import xxx

    二. os、sys模块

     1 import os
     2 
     3 os.rename('test1','test2') #重命名
     4 os.remove(test1) #删除文件
     5 os.mkdir('case') #创建文件夹
     6 os.rmdir("test") #删除指定的文件夹
     7 os.makedirs('case/login') #递归创建文件夹,父目录不存在时创建父目录
     8 os.removedirs("test") #递归删除空目录
     9 print(os.curdir)#当前目录
    10 print(os.pardir)#父目录
    11 files = os.listdir(r'/Users/nhy/mjz/day1')#列出一个目录下的所有文件
    12 print(os.path.isdir(r'/Users/nhy//mjz/day3'))#判断是否是一个路径
    13 print(os.path.isfile(r'/Users/nhy/mjz/day3'))#判断是否是一个文件
    14 os.chdir(r'/Users/nhy/PycharmProjects/mjz/day3') #切换当前目录
    15 print(os.getcwd())#获取当前路径
    16 print(os.path.join("/root",'hehe','a.sql'))#拼接成一个路径
    17 print(os.path.getsize('products.json')) # 返回文件大小
    18 print(os.path.exists('products.json'))#判断目录/文件是否存在
    19 print(os.path.getatime('products.json'))#最近一次的访问时间
    20 print(os.path.getctime('products.json'))#创建时间
    21 print(os.path.getmtime('products.json'))#修改时间
    22 print(os.path.split(r'/Users/nhy/mjz/day4/products.json'))#分割路径和文件名
    23 os.path.basename(‘path/filename’) 去掉目录路径,返回文件名
    24 os.path.dirname(‘path/filename’) 去掉文件名,返回目录路径
    25 print(os.path.abspath(__file__))#根据相对路径获取绝对路径
    26 print(os.stat("len_os.py"))#获取文件信息
    27 print(os.sep)#当前操作系统的路径分隔符
    28 print(os.linesep)#当前操作系统的换行符
    29 print(os.pathsep)#当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
    30 print(os.environ)#当前系统的环境变量
    31 print(os.name)#当前系统名称
    32 os.chmod("test") 改变目录权限
    33 
    34 os.system('ifconfig') #执行操作系统命令,无法操作执行结果
    35 result = os.popen('ifconfig').read() #执行操作系统命令,可以操作执行结果
    36 print('result...',result)
    37 
    38 os.walk('路径') #遍历指定路径所有目录文件
    39 #示例:遍历/目录下所有目录、文件,查找出文件名包含‘.mp4’的文件
    40 name = '.mp4'
    41 def search_file(path,name):
    42     for cur_dir,dirs,files in os.walk(path):
    43         for file in files:
    44             if name in file:
    45                 abs_path = os.path.join(cur_dir,file)
    46                 print('找到%s文件,路径是%s'%(file,abs_path))
    47 
    48 search_file('/',name)
     1 #sys模块
     2 import sys
     3 sys.argv #命令行参数List,第一个元素是程序本身路径
     4 sys.exit(n) #退出程序,正常退出时exit(0)
     5 sys.version #获取Python解释程序的版本信息
     6 sys.maxint #最大的Int值
     7 sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
     8 sys.platform #返回操作系统平台名称
     9 sys.stdout.write('please:')  # 向屏幕输出一句话
    10 val = sys.stdin.readline()[:-1]  # 获取输入的值

    三.  time&datetime模

     1 import datetime, time
     2 
     3 print(time.timezone)  # 和标准时间相差的时间,单位是s
     4 print(time.time())  # 获取当前时间戳
     5 print(time.sleep(1))  # 休息几s
     6 print(time.gmtime())  # 把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳
     7 print(time.localtime())  # 把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳
     8 print(time.mktime(time.localtime()))  # 把时间元组转换成时间戳
     9 print(time.strftime("%y%m%d %H%M%S"))  # 将时间元组转换成格式化输出的字符串
    10 print(time.strptime("20160204 191919", "%Y%m%d %H%M%S"))  # 将格式化的时间转换成时间元组
    11 print(time.struct_time)  # 时间元组
    12 print(time.asctime())  # 时间元转换成格式化时间
    13 print(time.ctime())  # 时间戳转换成格式化时间
    14 print(datetime.datetime.now())  # 当然时间格式化输出
    15 print(datetime.datetime.now() + datetime.timedelta(3))  # 3天后的时间
    16 print(datetime.datetime.now() + datetime.timedelta(-3))  # 3天前的时间

    示例:

     1 def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
     2     '''时间戳转格式化好的时间,默认返回当前时间'''
     3     if timestamp:
     4         time_tuple = time.localtime(timestamp)  # 以当前时区的时间转换
     5         result = time.strftime(format,time_tuple)
     6     else:
     7         result = time.strftime(format)
     8     return result
     9 
    10 def str_to_timestamp(string=None,format='%Y-%m-%d %H:%M:%S'):
    11     '''格式化好的字符串转时间戳,默认返回当前时间戳'''
    12     if string:
    13         time_tuple = time.strptime(string, format)  # 格式化好的时间,转时间元组的
    14         result = time.mktime(time_tuple)  # 把时间元组转成时间戳
    15     else:
    16         result = time.time()
    17     return int(result)

    四. random模块

     1 import random,string    
     2 print(random.random())#随机浮点数,默认取0-1,不能指定范围
     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)
    11 print(string.ascii_letters+string.digits)#所有的数字和字母
  • 相关阅读:
    C++ 反调试(NtSetInformationThread)
    Bochs使用简单教程
    巧解正则表达式环视
    RE4B读书笔记之寄存器
    Bochs+Windbg调试VT代码
    键盘键值对照
    移动端调试神器vConsole,eruda
    利用易乐游在家搭建无盘系统
    三:大数据架构回顾-数仓架构演进
    二:大数据架构回顾-Kappa架构
  • 原文地址:https://www.cnblogs.com/cocomoly/p/11751639.html
Copyright © 2011-2022 走看看