亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

瀏覽:5日期: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)文章:
主站蜘蛛池模板: a级日韩乱理伦片在线观看 a级特黄毛片免费观看 | 欧美精品99久久久久久人 | 欧美大屁股精品毛片视频 | 手机免费毛片 | 欧美在线一区二区 | 久视频在线 | 一区二区三区精品国产 | 国产情侣普通话刺激对白 | 99爱在线精品视频免费观看9 | 玖玖在线国产精品 | 久热国产视频 | 久久久久久久久久免观看 | 成人国产精品一级毛片了 | 日韩国产午夜一区二区三区 | 欧美精品在线视频 | 在线免费观看毛片网站 | 亚洲成a人片在线播放 | 国产免费影院 | 日韩欧美色综合 | 99国产精品九九视频免费看 | 91视频综合网 | 免费一区区三区四区 | 国内真实愉拍系列情侣自拍 | 波多野结衣在线观看3人 | 国产精品永久免费自在线观看 | a一级网站 | 一区视频在线 | 日韩美女网站在线看 | 男女午夜免费视频 | 男女免费视频 | 久久亚洲精品无码观看不卡 | 高清一级片 | 成年网站免费视频黄 | 国产精品三级一区二区 | 国产高清成人 | 国产成人在线视频网站 | 国产一级做a爰片久久毛片99 | 美女张开腿让我 | 国产欧美日韩视频在线观看一区二区 | 国产成人毛片精品不卡在线 | 中文国产成人精品久久水 |