8个版本
0.1.7 | 2023年4月16日 |
---|---|
0.1.6 | 2023年2月13日 |
0.1.5 | 2023年1月26日 |
0.1.3 | 2022年12月21日 |
#11 in #ini
在full_logger中使用
18KB
451 行
格式化INI
轻量级库,用于读取/写入ini文件。
格式
[table_name]
key = value
示例
use pretty_ini::{ini, ini_file};
fn main() {
let mut file = ini_file::IniFile::default();
file.set_path("demo.ini");
let mut ini = ini::Ini::default();
ini.load(&mut file).unwrap();
let var_iter = ini.get_ref_mut(ini::TABLE_NAME_ROOT, "iter").unwrap();
var_iter.set(var_iter.parse::<i32>().unwrap() + 1);
println!("All keys contained in: \"Next\"");
for key in ini
.get_all_keys_in_table("next")
.expect("No key found in Next")
{
println!("- {}", key);
}
file.save(&mut ini);
}
预处理/后处理
在IniFile中,您可以使用ProcessAction添加一些处理过程。
预处理
在将文件内容分配给缓冲区之前调用。
let action = Some(Box::new(|buffer| {
// Do nothing
return buffer;
}));
ini_file.add_pre_process(action);
后处理
在保存文件之前调用。
let action = Some(Box::new(|buffer| {
// Do nothing
return buffer;
}));
ini_file.add_post_process(action);
⚠️ 警告
- 保存时的输出将被重新格式化。
- 隐式"root"表。