最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用信號量動態(tài)更新配置文件的操作

 更新時間:2020年04月01日 10:34:58   作者:Recar  
這篇文章主要介紹了python使用信號量動態(tài)更新配置文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一種小技巧,可以讓python捕獲信號量HUP 然后當使用 kill 發(fā)起HUP信號量的時候 捕獲到進行處理,可以處理為重新讀取配置文件并重新賦值,這樣不需要重啟服務也可以讓程序重新讀取配置文件的內容

捕獲信號量

import signal
import ConfigParser

def get_config():
 conf = ConfigParser.ConfigParser()
 conf.read("config.cfg")
 name = conf.get("test", "name")
 print(name)
 
def update_config(signum,frame):
 print("update config")
 get_config()

def ctrl_c(signum,frame):
 print("input ctrl c")
 exit(1)

# 捕獲HUP
signal.signal(signal.SIGHUP, update_config)
# 捕獲ctrl+c
signal.signal(signal.SIGINT, ctrl_c)

print("test signal")
get_config()

while True:
 pass

配置文件

$ cat config.cfg 
[test]
# name = "Recar"
name = "@@@"

執(zhí)行程序 python

修改配置文件 name為Recar

發(fā)起HUP信號

切到捕獲的信號量看到重新更新了配置文件

這里我開始還有的 from config import name

然后捕獲信號量再重新導入,也就是再執(zhí)行一下 from config import name

這樣是不行的,如果想要重新導入需要 reload(模塊) 但是這里reload不支持 from的形式

我改為 import config 然后在 自定義的信號量處理函數(shù)中 reload(config) 來實現(xiàn)重新載入模塊。

還是推薦使用 ConfigParser 來獲取配置文件好一些。

補充知識:python3-ConfigParser讓配置文件生效

INI文件由節(jié)、鍵、值組成。格式如下:

例如:

[section]
name=value
name:value

注解使用分號表示(;)。在分號后面的文字,直到該行結尾都全部為注解。

configparser模塊含有configparser類,主要包含三個模塊:RawConfigParser(),ConfigParser()、SafeConfigParse()這三個方法(三選一),創(chuàng)建一個對象使用對象的方法對配置文件進行增刪改查操作.

from configparser import ConfigParser
 
 if __name__ == "__main__": 
 
#寫入數(shù)據(jù)到test.ini文件
 config=ConfigParser()
 config.add_section('login')
 config.set('login','name','test')
 config.set('login','paw','test')
 
 with open("test.ini",'w+') as f :
  config.write(f)
 
 
 with open("test.ini",'r') as f_read:
  config.read_file(f_read)
  print(config.get('login','name'))
  config.read(f_read)
  #獲取section
  print(config.sections())
  #獲取key
  print(config.get('login','name'))
  #獲取value
  print(config.get('login','paw'))
  #獲取某個section下的key,value
  print(config.options('login'))
  #判斷section是否存在,存在返回True,不存在返回False
  print(config.has_section('login'))
  #方法判斷section下,某個鍵是否存在,存在返回True,不存在返回False
  print(config.has_option('login','name1'))

刪除

remove_section()方法刪除某個section,remove_option()方法刪除某個section下的鍵 config.remove_section('login','paw')

注:要先read到內存

config.read(file)

實際刪除的為內存中的,文件中的section的鍵不會減少

以上這篇python使用信號量動態(tài)更新配置文件的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python實現(xiàn)遍歷子文件夾并將文件復制到不同的目標文件夾

    Python實現(xiàn)遍歷子文件夾并將文件復制到不同的目標文件夾

    這篇文章主要介紹了如何基于Python語言實現(xiàn)遍歷多個子文件夾,將每一個子文件夾中大量的文件,按照每一個文件的文件名稱的特點復制到不同的目標文件夾中,感興趣的可以了解下
    2023-08-08
  • Python五子棋小游戲實例分享

    Python五子棋小游戲實例分享

    這篇文章主要為大家詳細介紹了Python五子棋小游戲實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Python中使用HTMLParser解析html實例

    Python中使用HTMLParser解析html實例

    這篇文章主要介紹了Python中使用HTMLParser解析html實例,本文直接給出使用示例,并總結出HTMLParser含有的方法分為兩類,一類是需要顯式調用的,而另一類不需顯示調用,需要的朋友可以參考下
    2015-02-02
  • Python 3 實現(xiàn)定義跨模塊的全局變量和使用教程

    Python 3 實現(xiàn)定義跨模塊的全局變量和使用教程

    這篇文章主要介紹了Python 3 實現(xiàn)定義跨模塊的全局變量和使用,本文通過實例代碼相結合的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python2.7實現(xiàn)郵件發(fā)送功能

    python2.7實現(xiàn)郵件發(fā)送功能

    這篇文章主要為大家詳細介紹了python2.7實現(xiàn)郵件發(fā)送功能包,含文本、附件、正文圖片等,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • pd.to_datetime中時間object轉換datetime實例

    pd.to_datetime中時間object轉換datetime實例

    本文主要介紹了pd.to_datetime中時間object轉換datetime實例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 聊聊python的gin庫的介紹和使用

    聊聊python的gin庫的介紹和使用

    gin像一個封裝了參數(shù)配置的類,使用這個類將使得大量的參數(shù)配置變得簡單清晰,本文重點給大家介紹python的gin庫的介紹和使用,感興趣的朋友跟隨小編一起看看吧
    2021-04-04
  • python3 圖片referer防盜鏈的實現(xiàn)方法

    python3 圖片referer防盜鏈的實現(xiàn)方法

    本篇文章主要介紹了python3 圖片referer防盜鏈的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • jenkins+python自動化測試持續(xù)集成教程

    jenkins+python自動化測試持續(xù)集成教程

    這篇文章主要介紹了jenkins+python自動化測試持續(xù)集成教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • django學習之a(chǎn)jax post傳參的2種格式實例

    django學習之a(chǎn)jax post傳參的2種格式實例

    AJAX除了異步的特點外,還有一個就是:瀏覽器頁面局部刷新,下面這篇文章主要給大家介紹了關于django學習之a(chǎn)jax post傳參的2種格式的相關資料,需要的朋友可以參考下
    2021-05-05

最新評論

枝江市| 肇源县| 新民市| 闸北区| 大洼县| 三台县| 大新县| 三明市| 聊城市| 兴业县| 姚安县| 金秀| 钦州市| 随州市| 益阳市| 宜君县| 克拉玛依市| 金乡县| 锦屏县| 宝鸡市| 崇明县| 阿城市| 奇台县| 会同县| 赤壁市| 莆田市| 察哈| 江孜县| 洪江市| 城市| 株洲县| 沧源| 阜平县| 雷山县| 普陀区| 平凉市| 周口市| 湘潭县| 双牌县| 吉安县| 凤庆县|