type
Post
status
Published
date
Apr 3, 2023
slug
summary
ConfigParser 是用来读取配置文件的包
tags
Python
开发
category
技术分享
icon
password
时常写爬虫时要将数据写入文本和读取一直使用open()函数,今天再来学习一下configparser

🤔 ConfigParser 是用来读取配置文件的包

 
  1. 直接展示代码
  1. ini文档配置
[server] host = localhost port = 8080 [database] host = localhost port = 3306 user = root password = secret database = mydb
  1. 第一个例子
import configparser # 创建ConfigParser对象 config = configparser.ConfigParser() # 读取配置文件 config.read('/sdcard/Download/WeiXin/py_scripts/读取配置文件的学习/ini') # 读取server部分的配置 server_host = config['server']['host'] server_port = config['server']['port'] # 读取database部分的配置 db_host = config['database']['host'] db_port = config['database']['port'] db_user = config['database']['user'] db_password = config['database']['password'] db_database = config['database']['database'] # 打印配置 print(f "Server Host: {server_host}") print(f "Server Port: {server_port}") print(f "DB Host: {db_host}") print(f "DB Port: {db_port}") print(f "DB User: {db_user}") print(f "DB Password: {db_password}") print(f "DB Database: {db_database}")
 
 
 
  1. 第二个例子
  • config.ini配置
[db] db_host = 127.0.0.1 db_port = 6666 db_user = root db_pass = root host_port = 69 哪一关被称为"天下第一关"? = 山海关 [concurrent] thread = 10 processor = 20 [default] db_host = 1.1.1.1
import configparser config = configparser.ConfigParser() config.read("/sdcard/Download/WeiXin/py_scripts/读取配置文件的学习/config.ini", encoding="utf-8") # 获取所用的section节点 print(config.sections()) #运行结果 # ['db', 'concurrent'] #获取指定section 的options。即将配置文件某个section 内key 读取到列表中 r = config.options("db") print(r) r = config.get("db", "db_host") #获取db节点中的指定db_host(key)的127.0.0.1(value)值 # r1 = config.getint("db", "k1") #将获取到值转换为int型 # r2 = config.getboolean("db", "k2" ) #将获取到值转换为bool型 # r3 = config.getfloat("db", "k3" ) #将获取到值转换为浮点型 print(r) #运行结果 # 127.0.0.1 test = config.get("db","哪一关被称为\"天下第一关\"?") print(test) #获取指点section的所用配置信息 r = config.items("db") print(r) #运行结果 #[('db_host', '127.0.0.1'), ('db_port', '69'), ('db_user', 'root'), ('db_pass', 'root'), ('host_port', '69')] #修改某个option的值,如果不存在则会出创建 config.set("db", "db_port", "6666") #修改db_port的值为69 config.write(open("config.ini", "w")) print(config.has_section("db")) #是否存在该section print(config.has_option("db", "db_host")) #是否存在该option if not config.has_section("default"): # 检查是否存在section config.add_section("default") if not config.has_option("default", "db_host"): # 检查是否存在该option config.set("default", "db_host", "1.1.1.1") config.write(open("config.ini", "w")) '''暂时先注释掉,这个意思是删除了上面添加的default节点所有内容 config.remove_section("default") #整个section下的所有内容都将删除 config.write(open("config.ini", "w")) ''' #写回文件的方式如下:(使用configparser的write方法) # config.write(open("config.ini", "w"))
Python模块Beautiful4提取html数据快速创建免费个人云电脑 可用于注册账号等

NotionNext
NotionNext
一个普通的干饭人🍚
公告
type
Notice
status
Published
date
Jul 2, 2021
slug
#
summary
类型为Notice的文章将被显示为公告,仅 hexo和next支持;仅限一个公告
tags
category
icon
password
🎉NotionNext 3.13已上线🎉
-- 新版本特性 ---
二级菜单
Database打开
-- 感谢您的支持 ---
👏欢迎更新体验👏