美高梅网投网站-美高梅手机网投-美高梅官方网站
做最好的网站

您的位置:美高梅网投网址 > 服务器&运维 > 美高梅网投网站-read(filename) 直接读取ini文件内容

美高梅网投网站-read(filename) 直接读取ini文件内容

发布时间:2019-11-08 01:05编辑:服务器&运维浏览(194)

    Python模块知识8:configparser、压缩模块,pythonconfigparser

    一、configparser模块

    configparser用于拍卖特定格式的文书,其本质上是行使open来操作文件。

    文件格式如:

    1.基本的读取配置文件

    -read(filename) 直接读取ini文件内容

    -sections() 得到全部的section,并以列表的情势重返

    -options(section) 得到该section的所有option

    -items(section) 获得该section的装有键值对

    -get(section,option) 得到section中option的值,返回为string类型

    -getint(section,option) 获得section中option的值,重返为int类型,还应该有相应的getboolean()和getfloat() 函数。

    2.为主的写入配置文件

    -add_section(section) 增添二个新的section

    -set( section, option, value) 对section中的option进行设置,需求调用write将内容写入配置文件。

    案例1:取节点、键值对、键、键上边包车型地铁值

    import configparser #导入模块
    config=configparser.ConfigParser() #必须的装载语句
    config.read('black.txt',encoding='utf-8')#从文件中读取内容
    ret=config.sections()#取所有的节点
    ret2=config.items("sec1")#取节点值1下的所有的键值对
    ret3=config.options('sec1')#获取节点值1下的所有的键
    ret4=config.get('sec1',"k1")#获取节点值1,k1键下的值
    print(ret)#执行结果['sec1', 'sec2', 'sec3']
    print(ret2)#执行结果[('k1', 'v1    # 值'), ('k2', 'v2       # 值')]
    print(ret3)#执行结果['k1', 'k2']
    print(ret4)#执行结果v1    # 值
    

    施行结果:

    案例2:操作节点

    #加多节点、键值对

    import configparser #导入模块
    config=configparser.ConfigParser() #必须的装载语句
    config.add_section("sec4")#添加节点
    config.set("sec4","k2","jjj")#添加节点下的键值对
    config.write(open('black.txt','a'))
    

    进行理并了结果:

    案例3:检查节点

    #自己讨论节点是或不是留存

    import configparser #导入模块
    config=configparser.ConfigParser() #必须的装载语句
    config.read('black.txt',encoding='utf-8')#从文件中读取内容
    #检查是否有某个节点
    has_sec=config.has_section("sec2")#检查是否有节点“sec2”
    print(has_sec)
    
    执行结果:TRUE
    

    案例4:删除节点

    #去除节点照旧节点下的键值对

    import configparser #导入模块
    config=configparser.ConfigParser() #必须的装载语句
    config.read('black.txt',encoding='utf-8')#从文件中读取内容
    config.remove_section('sec3')#删除节点
    # config.remove_option('sec3','k1')#删除节点
    config.write(open('black.txt', 'w'))
    

    二、压缩zipfile模块

    1)压缩

    import zipfile

    z=zipfile.ZipFile('a.zip','w')

    z.write('hh.xml')

    z.write('hhnew3')

    z.close()

    2)解压缩

    import zipfile

    z=zipfile.ZipFile('a.zip','r')

    z.extractall()#解压全体

    for item in z.namelist():

        print(item,type(item))

    z.close()

    三、tar文件夹解压

    1)压缩

    import  tarfile

    tar = tarfile.open('your.tar','w')#压缩tar文件

    tar.add('hh.xml', arcname='hh1.xml')#能够把hh压缩时改名称叫hh1

    tar.add('hhnew3', arcname='hh3')

    tar.close()

    2)解压

    tar = tarfile.open('your.tar','r')

    #tar.extractall()  # 可设置解压全部的主题材料

    #打字与印刷全数的指标

    for item in tar.getmembers():

        print(item,type(item))

    #单个解压缩文件

    obj=tar.getmember("hh1.xml")

    tar.extract(obj)

    tar.close()

    美高梅网投网站,一. 简介

    shutil 是高端的文本,文件夹,压缩包管理模块。

    二. 使用

    shutil.copyfileobj(fsrc, fdst[, length])

    将文件内容拷贝到另贰个文件中

    import shutil

    shutil.copyfileobj(open('old.xml','r'),open('new.xml','w'))

    shutil.copyfile(src, dst)

    美高梅手机网投,拷贝文件

    shutil.copyfile('f1.log','f2.log')

    shutil.copymode(src, dst)

    仅拷贝权限。内容、组、客户均不变

    shutil.copymode('f1.log','f2.log')

    shutil.copystat(src, dst)

    仅拷贝状态的新闻,富含:mode bits, atime, mtime, flags

    shutil.copystat('f1.log','f2.log')

    美高梅官方网站,shutil.copy(src, dst)

    拷贝文件和权杖

    shutil.copy('f1.log','f2.log')

    shutil.copy2(src, dst)

    拷贝文件和情形新闻

    shutil.copy2('f1.log','f2.log')

    shutil.ignore_patterns(*patterns)

    shutil.copytree(src, dst, symlinks=False, ignore=None)

    递归的去拷贝文件夹

    shutil.copytree('folder1','folder2', ignore=shutil.ignore_patterns('*.pyc','tmp*'))

    shutil.copytree('f1','f2', symlinks=True, ignore=shutil.ignore_patterns('*.pyc','tmp*'))

    shutil.rmtree(path[, ignore_errors[, onerror]])

    递归的去删除文件

    shutil.rmtree('folder1')

    shutil.move(src, dst)

    递归的去运动文件,它雷同mv命令,其实就是重命名。

    shutil.move('folder1','folder3')

    shutil.make_archive(base_name, format,...)

    创办压缩包并回到文件路线,举例:zip、tar

    创设压缩包并回到文件路径,比方:zip、tar

    base_name: 压缩包的公文名,也足以是压缩包的门道。只是文件名时,则保留至当前目录,否则保存至内定路线,

    如:www                        =>保存至近期路径

    如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/

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

    root_dir: 要裁减的文书夹路线(暗许当前目录卡塔尔

    owner: 顾客,私下认可当前客户

    group: 组,暗中同意当前组

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

    #将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前前后相继目录

    importshutil

    ret=shutil.make_archive("wwwwwwwwww",'gztar', root_dir='/Users/wupeiqi/Downloads/test')

    #将 /Users/wupeiqi/Downloads/test 下的文书打包放置 /Users/wupeiqi/目录

    importshutil

    ret=shutil.make_archive("/Users/wupeiqi/wwwwwwwwww",'gztar', root_dir='/Users/wupeiqi/Downloads/test')

    shutil 对压缩包的管理是由此调用ZipFile 和 TarFile多个模块来进展的。

    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()

    z.close()

    import tarfile

    # 压缩

    tar=tarfile.open('your.tar','w')

    tar.add('/Users/wupeiqi/PycharmProjects/bbs2.log', arcname='bbs2.log')

    tar.add('/Users/wupeiqi/PycharmProjects/cmdb.log', arcname='cmdb.log')

    tar.close()

    # 解压

    tar=tarfile.open('your.tar','r')

    tar.extractall()# 可安装解压地址

    tar.close()

    本文由美高梅网投网址发布于服务器&运维,转载请注明出处:美高梅网投网站-read(filename) 直接读取ini文件内容

    关键词: