我們寫程式的時候一般都會寫程式包的時候,很少硬編碼寫在一起,這有個很好的配置檔案包。
參考 configparser 和 configparser 的使用
configparser 是用來讀取配置檔案的包。配置檔案的格式如下:中括號 「」 內包含的為 section。section 下面為類似於 key-value 的配置內容。
中括號 「」 內包含的為 section。緊接著 section 為類似於 key-value 的 options 的配置內容。[db]db_host = 127.0.0.1
db_port = 22
db_user = root
db_pass = rootroot
[concurrent]
thread = 10
processor = 20
使用 configparser 首選需要初始化例項,並讀取配置檔案:
importconfigparser
cf =configparser.configparser()
cf.read(
"配置檔名
")
s =cf.sections()'section:
', s
將輸出(以下將均以簡介中配置檔案為例):
section['db
', '
concurrent
']
o = cf.options("db"'options:
', o
將輸出:
options[
'db_host
', '
db_port
', '
db_user
', '
db_pass
']
v = cf.items("db"同樣的還有 getfloat、getboolean。'db:
', v
將輸出:
db[(
'db_host
', '
127.0.0.1
'), ('
db_port
', '
22'), ('
db_user
', '
root
'), ('
db_pass
', '
rootroot
')]
#可以按照型別讀取出來
db_host = cf.get("
db", "
db_host")
db_port = cf.getint("
db", "
db_port")
db_user = cf.get("
db", "
db_user")
db_pass = cf.get("
db", "
db_pass")
#返回的是整型的
threads = cf.getint("
concurrent
", "
thread")
processors = cf.getint("
concurrent
", "
processor")
"db_host:
", db_host
"db_port:
", db_port
"db_user:
", db_user
"db_pass:
", db_pass
"thread:
", threads
"processor:
", processors
將輸出:
db_host127.0.0.1db_port22
db_userroot
db_passrootroot
thread10
processor20
cf.set("db", "
db_pass
", "
zhaowei")
cf.write(open(
"test.conf
", "
w"))
cf.add_section('liuqing')
cf.set(
'liuqing
', '
int', '15'
)cf.set(
'liuqing
', '
bool
', '
true')
cf.set(
'liuqing
', '
float
', '
3.1415')
cf.set(
'liuqing
', '
baz', '
fun'
)cf.set(
'liuqing
', '
bar', '
python')
cf.set(
'liuqing
', '
foo', '
%(bar)s is %(baz)s!')
cf.write(open(
"test.conf
", "
w"))
cf.remove_option('liuqing
','int')
cf.remove_section(
'liuqing')
cf.write(open(
"test.conf
", "
w"))
#view code!/usr/bin/env python
from configparser import
configparser
configfile="
f.txt
"config=configparser()
config.read(configfile)
print config.get('
messages
','greeting')
radius=input(config.get('
messages
','questions
')+'')
print config.get('
messages
','result')
print config.getfloat('
numbers
','pi
')*radius**2s=config.sections()
'section:',s
o=config.options('
messages')
'messages option:',o
v=config.items("
messages")
'message de xinxi:',v
config.add_section(
'liuyang1')
config.set(
'liuyang1
','int
','15')
config.set(
'liuyang
'1,'
hhhh
','hello world')
config.write(open(
"f.txt
","w"))
print config.get('
liuyang1
','int')
print config.get('
liuyang1
','hhhh')
#!/usr/bin/env python
import
configparser
import
sysconfig=configparser.configparser()
config.add_section(
"book1")
config.set(
"book1
","title
","hello world")
config.set(
"book1
","aut
","log")
config.write(open(
"f.txt
","w
"))
python configparser配置檔案
通過配置檔案來管理不怎麼經常改變的引數,同時保證下次修改又能很快捷,就可以使用ini的配置來管理。以python3為作為直譯器,對應的包是configparser 配置檔案config.ini email qq sender zhangx mail.163.cn port 45smtp server...
python ConfigParser模組詳解
功能介紹 在程式中使用配置檔案來靈活的配置一些引數是一件很常見的事情,配置檔案的解析並不複雜,在python裡更是如此,在官方發布的庫中就包含有做這件事情的庫,那就是configparser,這裡簡單的做一些介紹。configparser解析的配置檔案的格式比較象ini的配置檔案格式,就是檔案中由多...
Python ConfigParser 注意事項
以這個非常簡單的典型配置檔案為例 default serveraliveinterval 45 compression yes compressionlevel 9 forwardx11 yes bitbucket.org user hg topsecret.server.com port 5002...