• 吃人一口,還人一斗 我思故我在

    字面上意思是說,受別人一點幫助,就要思考如何回報他更多。

    同義的:受人點滴,湧泉以報

    我覺得更值得更深入思考的是,

    當你輕易地要求別人的幫助時,你就得有心理準備,要返還十倍或更多。

    所以,當自己能做到,不輕易要求別人的幫忙。

    (說到這裡,小伙伴會覺得跟我以前說的”情感投入報酬”不一樣,情境不同暫不展開)

    這是台灣的俗語,用台語發音更有味道。

  • 瘋狂宇宙 我思故我在

    這個宇宙太瘋狂,大海掀翻了小池塘。

  • 區塊鏈是工具,要合理的使用;而非商品炒作。我思故我在

  • 賀賀郎,哇嗄哩供喂 我思故我在

    意思就是說,我是一個好好的、正常的人,我幹嘛跟你講話。

    一般用於朋友間小小辨論時,無法說服對方而使用。

    請不要企圖說服價值觀不在同個方向上的人或朋友。

  • Ethereum 塞車體驗 我思故我在
    下午四點,第一次體驗到 Eethereum 的塞車,一個 Uniswap 的交易等了一個鐘頭

    約1600 左右的交易,到 1702 收到通知完成

    不是說好的幾秒鐘,幾分鐘哦。造成這個情況的這是 TPS 限制嗎?還是真的有大量垃圾訊息或攻擊導致的?

  • 中心思想 我思故我在

    行為會改變、技術會改變,但中心思想不會變
    如同你會隨著環境而適應,但你的價值觀沒那麼容易改變

    中心思想、價值觀要改變,需要非常深刻的思考及體會,一般人在成長階段接受了某種價值觀,就不容易再改變了。

  • 現在想想,還好選了 ethereum 入門 我思故我在
    當時本來是想跟 Bruce 在公司的決定一樣,從 Fabric 開始。最近沒聯絡不知道發展得如何?

    還好選了 ethereum 入門

  • 成大事者不拘小節 魔鬼藏在細節裡 我思故我在

    兩句話看似相互矛盾,但其實使用的場景是不同的
    年輕人,把這兩句話串在一起,就定位成幹話

    真的這淺薄嗎?

  • 想像力比知識更重要?我思故我在

    你的問題在於書讀得太少,想得太多。

    如果是可比較的,那請您思考:想像力固然重要,是不是應該讓你的知識追上你的想像力?

  • 學士碩士博士的不同 我思故我在
    學士 學習知識 判斷問題(價值)
    碩士 運用知識 解決問題
    博士 創造知識 發現問題

python3 恰到好处的 configparse 教程

大叔的python之路 andy 1年前 (2019-07-04) 984次浏览 已收录 0个评论 扫描二维码

python3 恰到好处的 configparse 教程

一般称 config.ini 为配置档, 主要内容是键值对(key=value)的组合,再加一个所属的段落(section)

内容大钓如下

[section_a]
key_1 = value_1

[section_b]
key_a = value_a

我们要的重点就是读取get、写入set。
请参考下方的代码
第 1行 引入 import configparser
第 3行 config = configpaser.ConfigParser() 起手式
第 4行 ini_file 是配置的路径跟档案名称,一般附档名会是 ini 或 cfg
第 5行 读入配置档
第 6行 section_name = “section_a” 我们要使用的段落名称
第 8行 # write 标记以下的代码是写入的部份 跟 第17行 功能一样,只是提示代码阅读者

config.has_section(section_name) 是判断名为 section_name 的段落存不存在
config.add_section(section_name) 增加名为 section_name 的段落

第10行 print has_section 的判断结果
第11~12行 如果 section_name 不存在,则增加 section_name 这个段落
第14行 config.set(section_name, ‘key_1’, ‘value_1’)
在 section_name 的段落里面加入 键名 为 key_1 值为 value_1 的键值对。

第15行 config.write(open(ini_file, ‘w’)) 以写入模式打开配置档, 然後写入全部配置

以上写入的部份完成,我们先说明写入的部份,
原因在於没有看过配置档的人在写入完配置档之後,可以直接用编辑器打开配置档。
此时配置档的内容应该有如上面的配置 section_a 这个段落,
你可以试试自已加上 section_b 的段落及所属配置

再来, 我们继续看 read 的部份, 读取配置的部份
第18行 config.get(section_name,’key_1′) 读出 section_name 段落里面键名称为 key_1 的值
config.has_option 判断段落内是否存在某个键值对
第 20行 print has_option 结果
第 21~22行 先判断 section_name 段落内有没有 key_2 这个键名称, 有的话 print 出值来

import configparser

config = configparser.ConfigParser()
ini_file = '../data/demo_config.ini'
config.read(ini_file)
section_name = "section_a"

# write

# print(config.has_section(section_name))
if not config.has_section(section_name):
    config.add_section(section_name)

config.set(section_name, 'key_1', 'value_1')
config.write(open(ini_file, 'w'))

# read
print(config.get(section_name, 'key_1'))

# print(config.has_option(section_name, 'key_2'))
if config.has_option(section_name, 'key_2'):
    print(config.get(section_name, 'key_2'))

python3 的 configparse 主要就是「简单」处理配置档,而这篇文章则讲了最常使用的功能,
其他的功能像是读入全部的配置然後一个个取出,
或是读入某个段落全部的键,然後再取用之类的,都比较不常使用。

简单! 完成!


神隊友學長Andy , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python3 恰到好处的 configparse 教程
喜欢 (0)
[320208045@qq.com]
分享 (0)
andy
关于作者:
中年大叔,打拼 like young students.
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址