zoukankan      html  css  js  c++  java
  • 内置模块

    TIME和DATETIME模块

    表示时间的方式分为:          

    1时间戳(timestamp)

    2格式化化的时间字符串(format string)

    3结构化时间(struct_time)

    实例:

    import datetime
    import time
    
    print(datetime.datetime.now())
    #2018-06-05 19:01:06.993322
    
    print(datetime.date.fromtimestamp(time.time()))
    #2018-06-05
    
    print(datetime.datetime.now()+datetime.timedelta(3))
    #2018-06-08 19:03:53.716729
    
    print(datetime.datetime.now()+datetime.timedelta(-3))
    #2018-06-02 19:04:49.441533
    
    print(datetime.datetime.now()+datetime.timedelta(hours=3))
    #2018-06-05 22:05:59.804380
    
    print(datetime.datetime.now()+datetime.timedelta(hours=-3))
    #2018-06-05 16:07:10.981068
    
    time=datetime.datetime.now()
    print(time.replace(day=7,hour=22))
    #2018-06-07 22:32:30.268675

    Random模块

    import random
    
    print(random.random())
    #0.7440638054751231
    
    print(random.randint(1,3))#闭区间,必须传入两个参数
    #2
    
    print(random.randrange(5))#前闭后开区间,至少传一个整数
    #1
    
    print(random.choice(['a','b',1,2,3]))#必须传一个数组,将在数组里任意取一个值
    print(random.sample([1,2,3],2))#必须传两个参数一个是供选择的数组。一个是整数,代表取几个数
    #['b']
    
    print(random.uniform(3,5))#必须传两个数,结果是开区间的一个小数
    
    print(random.shuffle([1,2,2,3,4]))#必须传入一个参数,而且必须是一个可以计算长度,可以取索引的参数

    Hashlib和Md5模块

    用途:产生消息摘要,用于判断文件是否相同

    用法:

    。md5.new([arg])//返回一个md5对象,如果有参数则相当于调用了update(arg)
    
    。md5.md5(s)//返回字符串s的md5
    
    。md5.update(arg)//用string参数更新md5对象。
    
    。md5.digiest()返回16字节的摘要,由传给update的string生成,摘要没有ascii码字符。
    
    。hexdigest()//返回16字节的摘要,由传给update的string生成,摘要进制的形式返回摘要,32位。

    实例:

    import hashlib
    
    m = hashlib.md5()
    m.update("Nobody inspects".encode('utf-8'))
    m.update(" the spammish repetition xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".encode('utf-8'))
    print(m.digest())
    print(m.hexdigest())

    返回结果:

    二进制结果:b" x90j>Nx82'xd1xb2mx8dxa0<&xd06"

    十六进制结果:20906a3e4e8227d1b26d8da03c26d036

    sys模块

    sys模块是可供访问的解释器使用或维护的变量和与解释器进行交互的函数。负责程序与解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境。

    import sys
    
    print(sys.argv)#命令行参数list形式返回,第一个云素是程序本身
    
    print(sys.path)#返回模块的搜索路径,初始化时使用python环境变量的值
    
    print(sys.platform)#返回系统平台名称
    
    print(sys.version)#获取解释程序的版本信息
    
    print(sys.exit(0))#退出程序,正常时退出exit(0)

    Shutil模块

    高级的文件、文件夹、压缩包处理模块

    import shutil
    
    #拷贝文件
    shutil.copyfileobj(open(r'02.批量操作','rb'),open('new.html','wb'))
    
    #目标文件无需存在
    shutil.copyfile(r'01.监听input输入','f2.html')
    
    #仅仅拷贝文件权限,其他均不变。目标文件必须在
    shutil.copymode(r'02.批量操作','f1.html')
    
    #仅仅拷贝文件状态。文件必须在
    shutil.copystat(r'02.批量操作','f1.html')
    
    #仅仅拷贝文件和权限
    shutil.copy(r'02.批量操作','f1.html')
    
    #拷贝文件和状态信息
    shutil.copy2(r'02.批量操作','f1.html')
    
    #递归拷贝文件夹。目标目录不能存在,注意必须对目标目录的父级目录有可写权限
    shutil.copytree(r'D:pycharmpre_farmer
    unoob',r'D:pycharmpre_farmera',ignore=shutil.ignore_patterns('*.py','practice*'))
    
    #创建压缩包并返回文件路径
    shutil.make_archive('02','gztar',root_dir=r'D:pycharmpre_farmer
    unoob')
    
    #递归地移动文件,类似mv命令
    shutil.move(r'D:pycharmpre_farmer今日作业.html',r'D:pycharmpre_farmer
    unooba.html')
    
    #递归地删除文件夹下的文件
    shutil.rmtree(r'./a')
    
    #创建压缩包并返回文件路径
     shutil.make_archive('02','gztar',root_dir=r'D:pycharmpre_farmer
    unoob')

    创建压缩包并返回文件路径,例如:zip、tar

    创建压缩包并返回文件路径,例如:zip、tar

    base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,

    如 data_bak                       =>保存至当前路径

    如:/tmp/data_bak =>保存至/tmp/

    format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”

    root_dir:      要压缩的文件夹路径(默认当前目录)

    owner: 用户,默认当前用户

    group: 组,默认当前组

    logger: 用于记录日志,通常是logging.Logger对象

    tar压缩格式

    import tarfile
    
    #压缩
    t=tarfile.open('今日作业.tar','w')
    t.add('../今日作业.html',arcname='a.bak')
    t.close()
    
    #解压缩
    t=tarfile.open('今日作业.tar','r')
    t.extractall('./')#解压缩到当前目录
    t.close()

    zip压缩格式

    import zipfile
    
    # 压缩
    z = zipfile.ZipFile('laxi.zip', 'w')
    z.write('a.log')
    z.write('data.data')
    z.close()
    
    # 解压
    z = zipfile.ZipFile('laxi.zip', 'r')
    z.extractall(path='.')
    z.close()
    #解压文件为中文的文件名乱码问题,参考:https://blog.csdn.net/tian544556/article/details/78635840

    XML模块

     1 import xml.etree.ElementTree as ET
     2 
     3  
     4 
     5 tree=ET.parse('a.xml')#解析文件
     6 
     7 root=tree.getroot()#查树根
     8 
     9  
    10 
    11 print(root.tag)#获取根节点
    12 
    13 #遍历xml文档
    14 
    15 for child in root:
    16 
    17     print('==>',child.tag,child.attrib,child.attrib['name'])
    18 
    19     for i in child:
    20 
    21         print(i.tag,i.attrib,i.text)
    22 
    23 #遍历gdppc节点
    24 
    25 for node in root.iter('gdppc'):#迭代查找:会在整个树中查找,并且是查找所有匹配的
    26 
    27     print(node.tag,node.text)
    28 
    29  
    30 
    31 #修改节点
    32 
    33 for node in root.iter('year'):
    34 
    35     new_year=int(node.text)+3
    36 
    37     node.set('updated','yes')
    38 
    39     node.set('version','1.0')
    40 
    41 tree.write('a.xml')
    42 
    43  
    44 
    45 #删除节点
    46 
    47 for country in root.findall('country'):
    48 
    49     rank=int(country.find('rank').text)
    50 
    51     if rank>50:
    52 
    53         root.remove(country)
    54 
    55 tree.write('a.xml')
    56 
    57  
    58 
    59 #创建xml文档
    60 
    61 new_xml=ET.Element('namelist')
    62 
    63 name=ET.SubElement(new_xml,'name',attrib={'enrolled':'yes'})
    64 
    65 age=ET.SubElement(name,'age',attrib={'checked':'no'})
    66 
    67 gender=ET.SubElement(name,'gender')
    68 
    69 gender.text='33'
    70 
    71 name2=ET.SubElement(new_xml,'name',attrib={'enrolled':'no'})
    72 
    73 age=ET.SubElement(name2,'age')
    74 
    75 age.text='19'
    76 
    77 et=ET.ElementTree(new_xml)
    78 
    79 et.write('a.xml',encoding='utf-8',xml_declaration=True)
    80 
    81 ET.dump(new_xml)
    View Code
  • 相关阅读:
    简单错误记录
    识别有效的IP地址和掩码并进行分类统
    爬虫必备—BeautifulSoup
    爬虫必备—requests
    Shellinabox安装及使用教程
    Django——REST framework
    SaltStack部署
    使用js在HTML中自定义字符串格式化方法
    3种上传图片并实现预览的方法
    Ajax
  • 原文地址:https://www.cnblogs.com/qiaoqianshitou/p/9141619.html
Copyright © 2011-2022 走看看