国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

捕獲信號量

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 = '@@@'

執(zhí)行程序 python

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

修改配置文件 name為Recar

發(fā)起HUP信號

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

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

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

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

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

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

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

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

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

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

例如:

[section]name=valuename:value

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

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到內(nèi)存

config.read(file)

實際刪除的為內(nèi)存中的,文件中的section的鍵不會減少

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: www.黄网站| 国产成人精品999在线观看 | 女让张开腿让男人桶视频 | 成人黄色一级毛片 | 亚洲制服欧美自拍另类 | 综合自拍亚洲综合图区美腿丝袜 | 一级视频网站 | 精品91| 成人免费网站视频www | 日韩欧美成末人一区二区三区 | 免费人成黄页在线观看视频国产 | 国产精品无圣光一区二区 | 欧美毛片在线观看 | 久草成人在线视频 | 欧美视频三级 | 性夜影院爽黄a爽免费看网站 | 国内三级视频 | 成人爽爽大片在线观看 | a级成人毛片免费视频高清 a级高清观看视频在线看 | 久久色婷婷 | 国产乱淫视频 | 国产成人亚洲综合一区 | 欧美ⅹxxxx视频 | 日本美女视频韩国视频网站免费 | 美女视频黄的免费视频网页 | 香港激情三级做爰小说 | rion美乳弹出来四虎在线观看 | 久久99久久精品久久久久久 | 免费看欧美一级a毛片 | 欧美成a| 精品视频一区二区三区免费 | 国产younv真实 | 欧美日韩精品一区二区免费看 | 成人免费视频播放 | 男女免费观看视频 | 久久久久久a亚洲欧洲aⅴ | 亚洲精品国产福利一区二区三区 | 中文字幕一区日韩在线视频 | 国产高清日韩 | 国产欧美一区二区另类精品 | 99国产精品视频免费观看 |