日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python ConfigParser 小试

發布時間:2025/3/20 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python ConfigParser 小试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于工作需要,需要將數據庫的int型數據轉換成string類型放到頁面上,并從頁面上拿回string類型轉換成可以作為sql查詢參數的int型數據。注,這個string類型的字串和int型數據純屬于人工自定義的編碼行為,因此需要用到config文件。

查到python有ConfigParser,這個還蠻好用的,趕緊試了一下:

1.設計config文件:config.cfg,文件分為很多個section,每個section包含很多對key-value;如下:

  

[server type] 1= App Server 2= WriteBack Server 3= Memcache Server 4= Database Server[server status] 0= added 1= monitored 2= crashed 3= deleted 4= alerted[alert type] 1= email alert 2= sms alert[server monitor status] 0= Alert 1= Don't Alert

?

2.讀取配置文件:

def readConfig(type, value='1'):config = ConfigParser.ConfigParser()#type = "ServerStatus"value = str(value)try:with open("./static/data/config.cfg","r") as cfgfile:config.readfp(cfgfile)if type == "ServerType":items = dict(config.items('server type'))elif type == "ServerStatus":items = dict(config.items('server status'))elif type == "AlertType":items = dict(config.items('alert type'))elif type == "MonitorStatus":items = dict(config.items('server monitor status'))data = items[value]print datareturn dataexcept Exception:print 'error in readConfig when setting new host string by config file'

  在每次從數據庫取到數據時,調用這個readConfig方法將拿到的數據進行config成string,再傳到頁面進行顯示。結果很順利!

但是問題也隨之來了,我還要從頁面上拿回這個String傳到后臺作為取數據的sql參數,但是這個與數據庫毫無關系的string如何轉換成int呢?我想了一個dconfig,就是反config回來啦!但是蹊蹺的是,同樣的方法,卻得到了一個int() argument must be a string or a number, not 'NoneType'的錯誤,于是查找定位到我在初始化value這個參數的時候傳了一個空串,然后被當做None,int(None)是不被接受的。改掉,依舊不行。打印傳回來的參數:

alerted App Server

于是做了個小測試,發現alerted能找到它的對應值,但是App Server找不到,改成小寫的’app server‘結果又找到了,真是坑爹,去看下文檔有沒有說明不接受大寫字符串,或者是有存在編碼問題?

最后將config的文件里全改成小寫,做測試,好莫名其妙啊!打印出來竟然還是:

alerted App Server

Why??明明文件已經保存了!難道這cfg文件是要緩存到客戶端里的?不可能,明明是后臺調用的,好吧,我把你刪掉再建一個,放進去小寫,重啟動。ok了!這次變小些了,只是頁面上顯示的還是小寫的,未必符合要求。

?

ConfigParser是個好東西,python的庫就是封裝的好啊!關于config的事情,如果沒有特殊要求,基本上夠用啦。。。。

?

?

忽然想到一個事情,我這典型的交互和需要config的次數太多,我為啥不考慮把config的一個key-value都傳到客戶端嗯?再客戶端顯示的時候用string的value,返回查詢用的int的key,豈不是一舉兩得?

總結

以上是生活随笔為你收集整理的python ConfigParser 小试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。