亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

python使用信號量動態更新配置文件的操作

瀏覽:4日期:2022-07-31 14:32:45

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

捕獲信號量

import signalimport ConfigParserdef 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)# 捕獲HUPsignal.signal(signal.SIGHUP, update_config)# 捕獲ctrl+csignal.signal(signal.SIGINT, ctrl_c)print('test signal')get_config()while True: pass

配置文件

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

執行程序 python

python使用信號量動態更新配置文件的操作

修改配置文件 name為Recar

發起HUP信號

python使用信號量動態更新配置文件的操作

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

python使用信號量動態更新配置文件的操作

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

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

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

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

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

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

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

例如:

[section]name=valuename:value

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

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

from configparser import ConfigParser if __name__ == '__main__': #寫入數據到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使用信號量動態更新配置文件的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲网站免费 | 欧美一区二区三区精品 | 久久亚洲天堂 | 久久精品国产一区 | 91国语精品自产拍在线观看性色 | 午夜视频久久 | 亚洲欧美日韩在线观看二区 | 国产线视频精品免费观看视频 | 香蕉视频在线观看免费国产婷婷 | 免费观看欧美成人1314色 | 中文字幕一区视频一线 | 91久久青草精品38国产 | 国产三级网址 | 国产私拍视频 | 91精品国产调教在线观看 | 草草影视在线观看 | 国产精品美乳免费看 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片唾 | 久久精品国产半推半就 | 欧美在线观看高清一二三区 | 久久精品国产线看观看亚洲 | 日韩不卡视频在线观看 | 91免费精品国偷自产在线在线 | 色片免费看 | 91爱啪啪 | 成人免费大片a毛片 | 免费色视频 | 99国产在线播放 | 日本高清在线精品一区二区三区 | 国产丝袜视频在线 | 国产一级毛片国语版 | 亚色最新网址 | 婷婷久久激情综合啪啪 | 国产视频一区二区在线播放 | 国产福利91精品一区二区 | 男啪女视频免费观看网站 | 高清免费a级在线观看国产 高清免费毛片 | 观看麻豆影视文化有限公司 | 露脸真实国产精品自在| 青草草在线 | 欧美金8天国 |