Python讀取配置檔案和外部引數

2021-10-07 11:54:36 字數 2225 閱讀 1199

配置檔案db.json

# this is a json document.

title =

"json example"

[database]

server =

"192.10.92.10"

ports =

[5000

,5001

,5002

]connection_max =

5000

enabled = true //

bool型別

[redis]

ip =

"192.10.92.20"

ports =

[5000

,5001

,5002

]connection_max =

5000

import urllib.request

import getopt

import sys

import configparser

import commands

cf = configparser.configparser(

)# 讀取db.json內容

cf.read(

"db.json"

)# 獲取所有標題[database,redis]

sections = config.sections(

)# 獲取database的key,[server,ports,connection_max,enabled]

vals = cf.options(

"database"

)# 獲取database的key和value[('server', '"192.10.92.10'), ('ports', [ 5000, 5001, 5002 ]), ('connection_max', '100')]

items = cf.items(

"database"

)#獲取database的server元素

server = cf.get(

"database"

,"server"

)# getopt.getopt(args,short,long)

#第乙個引數是執行二進位制檔案接收的引數,它是乙個列表,可以通過sys.ar**獲得

#第二個引數短引數,類似於:python test.py -h,

#第三個引數是長引數類似於:python test.py -help

# sys.ar**[1:]是除了指定python檔案的其他引數

# 短引數":"代表了當前引數是有值的

#長引數如果要接收值,那必須得在後面加上乙個"="

opts,args = getopt.getopt(sys.ar**[1:

],'-h-f:-v',[

'help'

,'filename='

,'version'])

for opt_name,opt_value in opts:

if opt_name in

('-h'

,'--help'):

print

(opt_value)

exit(

)if opt_name in

('-v'

,'--version'):

version = opt_value

print

("version is"

, version)

exit(

)if opt_name in

('-f'

,'--filename'):

filename = opt_value

print

("filename is "

,filename)

exit(

)# 得到linux執行後list列表

dflist=commands.getoutput(

"df -h"

).split(

'\n'

)# abc是否匹配正則\w

zz= re.

compile

(r'\w+'

)result = zz.match(

"abc"

)# 等價於compile + match

result = re.match(r'\w+'

,"abc"

)

SpringBoot讀取外部配置檔案

總結spring boot中文官方文件 當前目錄下的 config子目錄。當前目錄。classpath下的 config包。classpath根路徑 root springboot 版本 可以說,這個版本的確有點低。但是它能解決,兩個service 相互引用不報錯的問題。神奇,如果要是換到2.1.6...

springboot讀取外部配置檔案

無意中看見公司的專案sringboot配置檔案是放在jar包並級目錄的,而我自己部署springboot專案就是直接使用的專案打出的jar包內的配置檔案,雖然能開啟jar修改配置檔案或者打包前直接改好配置檔案再打包,但是當開發和部署的人員分職之後,會比較的麻煩。所以探索了一下外部配置檔案的方式 sp...

Python 配置檔案讀取

python提供了configparser包來進行配置檔案讀取。api 所謂的sections就是乙個配置塊。下面是乙個配置檔案db.ini mongo db host 127.0.0.1 db port 27017 system timeout 2000 interval 2000 包含mongo...