ConfigParser

基础读取配置文件


- read(filename) 直接读取文件内容
- sections() 得到所有的section,并以列表的形式返回
- options(section) 得到该section的所有option
- items(section) 得到该section的所有键值对
- get(section,option) 得到section中option的值,返回为string类型
- getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

基础写入配置文件


- write(fp) 将config对象写入至某个 .init 格式的文件 Write an .ini-format representation of the configuration state.
- add_section(section) 添加一个新的section
- set( section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件 ConfigParser2
- remove_section(section) 删除某个 section
- remove_option(section, option) 删除某个 section 下的 option

flickr.ini文件内容:

[Graph_Data]        
train_graph_file = GraphData/flickr-train.mat

;uncomment this if you want to check link prediction
;origin_graph_file = GraphData/flickr.mat

;uncomment this if you want to check classification 
;label_file = GraphData/blogCatalog3-groups.txt

[Output]
;display the performance in every 5 epochs
display = 5
embedding_filename = flickr

;the K for precision@k
check_reconstruction = 10,100,500,1000,10000

;uncomment this if you want to check link prediction
;check_link_prediction = 10,100,500,1000,10000

;uncomment this if you want to check classification 
;check_classification = yes

[Model_Setup]
;you can restore the model from an old one.
restore_model = ./result/flickr_old.model

;the struct of the network, the -1 will be replaced with N automatically.
struct = -1,100

;the loss func is  // gamma * L1 + alpha * L2 + reg * regularTerm //
alpha = 100
gamma = 1
reg = 1

;the weight balanced value to reconstruct non-zero element more.
beta = 50

batch_size = 16
epochs_limit = 100
learning_rate = 0.01


dbn_epochs = 500
dbn_batch_size = 64
dbn_learning_rate = 0.1

;negative sample ratio 
;if you want to do negative sampling, you should load data from txt file instead of mat file.
ng_sample_ratio = 0.0

  • 代码:
import configparser
cf = configparser.ConfigParser()
# cf.read("test.conf")
cf.read("flickr.ini")
['flickr.ini']
#return all section
secs = cf.sections()
print("sections: ", secs, type(secs))
sections:  ['Graph_Data', 'Output', 'Model_Setup'] <class 'list'>
opts = cf.options("Output")
print("options :", opts, type(opts))
options : ['display', 'embedding_filename', 'check_reconstruction'] <class 'list'>
kvs = cf.items("Output")
print("Output: ", kvs, type(kvs) , type(kvs[0]))
Output:  [('display', '5'), ('embedding_filename', 'flickr'), ('check_reconstruction', '10,100,500,1000,10000')] <class 'list'> <class 'tuple'>
#read by type
cf.get("Output","embedding_filename") #返回字符串
'flickr'
cf.get("Output","check_reconstruction")
'10,100,500,1000,10000'

参考:
https://www.cnblogs.com/feeland/p/4514771.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值