码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-02-25 15:03:13      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:move   17.1   内容   ali   root   配置文件   bind   rem   for循环   

内容概要

  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开发【第七篇】: 面向对象和模块补充

标签:move   17.1   内容   ali   root   配置文件   bind   rem   for循环   

原文地址:https://www.cnblogs.com/root0/p/10430805.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!