Python开发第七篇: 面向对象和模块补充

Posted 平凡之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发第七篇: 面向对象和模块补充相关的知识,希望对你有一定的参考价值。

内容概要

  1.   特殊成员
  2.  反射
  3.  configparser模块
  4.  hashlib模块
  5.  logging模块
  6.  异常处理
  7.  模块
  8.  包

 

1. 特殊成员

 

 

 

2. 反射

 

 

 

3. configparser模块

  该模块适用于配置文件件的格式与windows ini文件类似,可以包含一个或多个节(section)每个节可以有多个参数(键=值). 首先, 我们先看一个xxx服务器的配置文件

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes

[server]
User = hg
Bind = 0.0.0.0
Port = 8888

[client]
IP = 127.0.0.0
Port = 50022
ForwardX11 = no

 

我们用configparser就可以对这样的文件进行处理.首先, 是初始化

技术图片
# 1. 初始化
import configparser
config = configparser.ConfigParser()

config["DEFAULT"] = {
    "sleep": 1000,
    "session-time-out": 30,
    "user-alive": 999999
}

config["TEST-DB"] = {
    "db_ip": "192.168.17.189",
    "port": "3306",
    "u_name": "root",
    "u_pwd": "123456"
}

config[168-DB] = {
 "db_ip": "152.163.18.168",
 "port": "3306",
 "u_name": "root",
 "u_pwd": "123456"
}

f = open("config.ini",mode="w")
config.write(f)  # 写入文件
f.flush()
f.close()

# 读取文件信息:
config = configparser.ConfigParser()

config.read("config.ini")  # 读取文件
print(config.sections())   # 获取到所有section(章节)。 [DEFAULT]是默认信息,每个章节都有[DEFAULT]中的信息
# 执行结果:  [TEST-DB, 168-DB]

# 从章节中获取到任意的数据,get 方法Section下的key对应的value
print(config.get("TEST-DB","db_ip"))
# 执行结果: 192.168.17.189

# 也可以像字典一样操作
print(config["TEST-DB"][db_ip])
print(config["168-DB"]["db_ip"])
# 执行结果:
# 192.168.17.189
# 152.163.18.168

# 循环TEST-DB章节下的所有key
for k in config["TEST-DB"]:
    print(k)

# 所有key:value
for k,v in config["TEST-DB"].items():
    print(k,v)

print(config.options("TEST-DB"))  # 同for循环,找到 "TEST-DB"下所有键
# [db_ip, port, u_name, u_pwd, sleep, session-time-out, user-alive]

print(config.items("TEST-DB"))  # 找到 "TEST-DB"下所有键值对
# [(sleep, 1000), (session-time-out, 30), (user-alive, 999999), (db_ip, 192.168.17.189), (port, 3306), (u_name, root), (u_pwd, 123456)]
View Code

 

增删改操作:

技术图片
# 先读取. 然后修改. 最后写回文件
config = configparser.ConfigParser()
config.read("config.ini")  # 读取文件

# 添加一个章节
config.add_section("172-DB")
config["172-DB"] = {
    "db_ip": "172.168.12.11",
    "port": "3306",
    "u_name": "root",
    "u_pwd": "123456"
}

# 修改信息
config.set("168-DB","db_ip","10.0.3.26")

# 删除章节
config.remove_section("TEST-DB")

# 删除元素信息
config.remove_option("168-DB","db_ip")

# 写回文件
config.write(open("config.ini",mode="w"))
View Code

 

 

4. hashlib模块

 

 

 

5. logging模块

 

 

 

6. 异常处理

 

 

 

7. 模块

 

 

 

8. 包

 

以上是关于Python开发第七篇: 面向对象和模块补充的主要内容,如果未能解决你的问题,请参考以下文章

python学习之路基础篇(第七篇)

Python自动化 第七篇:Python基础-面向对象高级语法异常处理Scoket开发基础

python基础篇第七篇模块补充xml操作

python之旅六第七篇面向对象之类成员

python基础-第七篇-7.1初识类和对象

python基础-第七篇-7.2面向对象(进阶篇)