Python读取配置文件(config.ini),写入配置文件

王张飞 2021-10-28 21:13:05
Python 配置 配置文件 文件 读取

一、读取配置文件

说明: 上位机运行初始化时需要读取配置文件,使用所提方法,上位机运行过程中如果修改了参数,下次上位机启动可以直接读取上一次修改的参数进行配置。

实例:
我的目录如下(根目录下包括config_read.pyconfig_write.pyconfig.ini):在这里插入图片描述

config.ini的内容如下:

[config]
platformname = Leovo
apppackage = com.romwe
appactivity = com.romwe.SplashActivity
[cmd]
viewphone = adb devices
startserver = adb start-server
stopserver = adb kill-server
install = adb install aaa.apk
id = 1
weight = 12.1
ischoice = True
[log]
log_error = true
[type]
stuno = 10211201

config_read.py中编写读取配置文件的脚本代码

import configparser
# 实例化configParser对象
config = configparser.ConfigParser()
# -read读取ini文件
config.read('C:\\Users\\songlihui\\PycharmProjects\\AutoTest_02\\config\\config.ini', encoding='GB18030')
# -sections得到所有的section,并以列表的形式返回
print('sections:' , ' ' , config.sections())
# -options(section)得到该section的所有option
print('options:' ,' ' , config.options('config'))
# -items(section)得到该section的所有键值对
print('items:' ,' ' ,config.items('cmd'))
# -get(section,option)得到section中option的值,返回为string类型
print('get:' ,' ' , config.get('cmd', 'startserver'))
# -getint(section,option)得到section中的option的值,返回为int类型
print('getint:' ,' ' ,config.getint('cmd', 'id'))
print('getfloat:' ,' ' , config.getfloat('cmd', 'weight'))
print('getboolean:' ,' ', config.getboolean('cmd', 'isChoice'))
"""
首先得到配置文件的所有分组,然后根据分组逐一展示所有
"""
for sections in config.sections():
for items in config.items(sections):
print(items)

运行config_read.py文件,展示结果如下

sections: ['config', 'cmd', 'log', 'type']
options: ['platformname', 'apppackage', 'appactivity']
items: [('viewphone', 'adb devices'), ('startserver', 'adb start-server'), ('stopserver', 'adb kill-server'), ('install', 'adb install aaa.apk'), ('id', '1'), ('weight', '12.1'), ('ischoice', 'True')]
get: adb start-server
getint: 1
getfloat: 12.1
getboolean: True
('platformname', 'Leovo')
('apppackage', 'com.romwe')
('appactivity', 'com.romwe.SplashActivity')
('viewphone', 'adb devices')
('startserver', 'adb start-server')
('stopserver', 'adb kill-server')
('install', 'adb install aaa.apk')
('id', '1')
('weight', '12.1')
('ischoice', 'True')
('log_error', 'true')
('stuno', '10211201')

config_write.py中编写读取配置文件的脚本代码

import configparser
# 实例化configParser对象
config = configparser.ConfigParser()
# -read读取ini文件
config.read('C:\\Users\\songlihui\\PycharmProjects\\AutoTest_02\\config\\config.ini', encoding='GB18030')
list = []
list = config.sections()# 获取到配置文件中所有分组名称
if 'type' not in list:# 如果分组type不存在则插入type分组
config.add_section('type')
config.set('type', 'stuno', '10211201')# 给type分组设置值
config.remove_option('type', 'stuno')# 删除type分组的stuno
config.remove_section('tpye')# 删除配置文件中type分组
o = open('C:\\Users\\songlihui\\PycharmProjects\\AutoTest_02\\config\\config.ini', 'w')
config.write(o)
o.close()#不要忘记关闭

运行config_write.py文件,展示结果如下

[config]
platformname = DELL
apppackage = com.romwe
appactivity = com.romwe.SplashActivity
[cmd]
viewphone = adb devices
startserver = adb start-server
stopserver = adb kill-server
install = adb install aaa.apk
id = 1
weight = 12.1
ischoice = True
[log]
log_error = true
[type]
stuno = 10211201
版权声明
本文为[王张飞]所创,转载请带上原文链接,感谢
https://blog.csdn.net/RNG_uzi_/article/details/120867248

  1. python定义列表 新手入门级别
  2. Liste de définition Python débutant
  3. 如何用Python实现,急!!xdm
  4. 如何用Python實現,急!!xdm
  5. Comment implémenter en python, urgent!! Xdm
  6. 新猿木子李:0基础学python培训教程 Python操作Redis之hash类型
  7. python导入模块变量后,打印的值固定不变了,大老们怎么破。
  8. Why is my rust slower than Python!
  9. 用Python给喜欢的女孩写一个办公小工具,她说棒极了!
  10. python中\t是空一个tab,那这个1.2后面怎么没空格?
  11. Il y a un onglet vide en python, alors pourquoi n'y a - t - il pas d'espace après ce 1.2?
  12. 关于python中pygame.display.set_mode()的一点小问题
  13. 猜我能否用Python编程抢到茅台?已经全部开源到GitHub了
  14. python数据分析numpy 补充短试题
  15. 2W + word long article, an article on literacy python, numpy and pandas, recommended collection!
  16. Python培训-自动化运维常用库
  17. On the magical usage and principle of weak reference in Python
  18. Formation python - bibliothèques d'exploitation et de maintenance automatisées
  19. Python培训-HTTP与HTTPS之间的区别
  20. Python有哪些高级特性?
  21. Python代码阅读(第25篇):将多行字符串拆分成列表
  22. Quelles sont les fonctionnalités avancées de python?
  23. 运用python程序编写下面的的代码
  24. Python代码阅读(第25篇):将多行字符串拆分成列表
  25. 初学者 可以帮我看一下为什么Python程序运行不了吗
  26. 初學者 可以幫我看一下為什麼Python程序運行不了嗎
  27. Python代碼閱讀(第25篇):將多行字符串拆分成列錶
  28. Les débutants peuvent - ils m'aider à voir pourquoi le programme Python ne fonctionne pas?
  29. Lecture du Code Python (article 25): diviser les chaînes multilignes en listes
  30. Écrivez le code suivant en utilisant le programme Python
  31. Python exercises
  32. Python exercises
  33. Python exercises
  34. 随机试验数据函数统计分析python
  35. Python after class exercises (junior / October 11, 2021)
  36. python使用cv2.imread()读取图片失败
  37. python使用cv2.imread()讀取圖片失敗
  38. Python n'a pas lu l'image en utilisant cv2.imread ()
  39. Error debugging is accurate to lines, match case pattern matching... The official version of Python 3.10 is really friendly
  40. 100 basic Python interview questions Part II (41-60)
  41. Angry liver half moon! Python learning route + resource summary
  42. 如何用Python编写下列程序
  43. Comment écrire les programmes suivants en python
  44. 熬夜整理了2021年Python最新学习资料,分享给学弟学妹们【大学生必备】
  45. 朋友股票亏惨了,我一怒用Python爬取了证券最新数据
  46. Python爬虫高阶:微店混淆逆向解密
  47. Python爬虫开发学习全教程第二版,爆肝十万字【建议收藏】
  48. 我用Python逆向登录世界上最大的游戏平台,steam加密手段有多高明【内附源码】
  49. 我用Python爬取1000封情书助力室友表白班花,却反转再反转...原来这就是班花的终极秘密!
  50. 我用Python爬取了五千张美女图壁纸,每天一张忘记初恋!
  51. 我Python采集了新榜热门内容,原来这就是别人能成为自媒体大佬的秘密!
  52. 30个Python小游戏,上班摸鱼我能玩一天【内附源码】
  53. 【JS 逆向 AES逆向加密】Python爬虫实战,日子越来越有判头了
  54. python将两个列表进行合并,合并时删除重复元素
  55. J'a i utilisé Python pour accéder aux dernières données sur les titres.
  56. Rester debout tard pour trier les derniers documents d'apprentissage de Python 2021 et les partager avec les étudiants et les jeunes filles [Must for College Students]
  57. python中sklearn版本一直是0.0
  58. La version de sklearn en Python a toujours été 0.0
  59. django 自定义中间件如何忽略部分视图函数
  60. Comment les intergiciels personnalisés Django ignorent certaines fonctions de vue