欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python如何使用信號(hào)量動(dòng)態(tài)更新配置文件-創(chuàng)新互聯(lián)

這篇文章主要介紹python如何使用信號(hào)量動(dòng)態(tài)更新配置文件,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司專注于興賓企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),成都做商城網(wǎng)站。興賓網(wǎng)站建設(shè)公司,為興賓等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

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

捕獲信號(hào)量

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

python如何使用信號(hào)量動(dòng)態(tài)更新配置文件

修改配置文件 name為Recar

發(fā)起HUP信號(hào)

python如何使用信號(hào)量動(dòng)態(tài)更新配置文件

切到捕獲的信號(hào)量看到重新更新了配置文件

python如何使用信號(hào)量動(dòng)態(tài)更新配置文件

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

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

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

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

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

補(bǔ)充知識(shí):python3-ConfigParser讓配置文件生效

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

例如:

[section]
name=value
name:value

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

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

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'))
  #獲取某個(gè)section下的key,value
  print(config.options('login'))
  #判斷section是否存在,存在返回True,不存在返回False
  print(config.has_section('login'))
  #方法判斷section下,某個(gè)鍵是否存在,存在返回True,不存在返回False
  print(config.has_option('login','name1'))

刪除

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

注:要先read到內(nèi)存

config.read(file)

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

以上是“python如何使用信號(hào)量動(dòng)態(tài)更新配置文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:python如何使用信號(hào)量動(dòng)態(tài)更新配置文件-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://www.chinadenli.net/article12/dhsggc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)全網(wǎng)營銷推廣自適應(yīng)網(wǎng)站網(wǎng)站制作網(wǎng)站策劃品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)