python:config parserを理解する
python環境
VimMarkdownWordpressの作成時の備忘録です
– windows10
– python3.7.9
– configparser 5.0.2
install
pip install configparser
実装
import
from configparser import ConfigParser
config = ConfigParser()
configファイルを作成する
config_path = 'your_file_path'
def writeConfig():
config = ConfigParser()
config['core'] = {
'markdown_extension' : 'extra,nl2br,' ,
'blog_list_num' : '100' ,
'set_filetype' : 'markdown' ,
}
config['main'] = {
'user' : 'user_name' ,
'password' : 'wordpress_password' ,
'url' : 'https://your_homepage_url/xmlrpc.php' ,
}
with open( config_path , 'w' ) as config_text:
config.write( config_text )
configファイルを読み込む
def readConfig( FILE = '' ):
config = ConfigParser()
if( FILE != '' ):
config.read( FILE )
作成されるconfigファイル
##コメントアウト可能
[core]
markdown_extension = extra,nl2br,
blog_list_num = 100
set_filetype = markdown
[main]
user = user_name
password = wordpress_password
url = https://your_homepage_url/xmlrpc.php
OSごとのhomeディレクトリの取得
##windows
#チルダの変換まででそれ以降の / \ の 変換はしてくれない
root_path = os.path.expanduser("~")
#root_path = os.path.expanduser("~/you_want_file")
path_sep = ''
if( os.name == 'posix' ):
path_sep = '/'
else:
path_sep = "\\"
セクション一覧取得
print( config.sections() )
#['core', 'main']
セクションの代入
blog_section = ConfigParser()
blog_section = config[ 'main' ]
要素の取得
config = ConfigParser()
config.read(config_path )
core_section = config[ 'main' ]
print( core_section['url'] )
print( config[ 'main' ][ 'url' ] )
print( config.get( 'main' ,'url' ) )
keyをすべて処理
for key in config[ 'main' ]:
print( key )
keyとvalueをセットで返す
print( config.items( 'main' ))
#[('markdown_extension', 'extra,nl2br,'), ('blog_list_num', '100'), ('set_filetype', 'markdown')]
セクションが存在するか確かめる
if( config.has_section( 'main' ) ):
print('exists')
参考
configparser — 設定ファイルのパーサー — Python 3.9.4 ドキュメント
設定ファイル (ConfigParser) | Python-izm