#ini #file

pretty_ini

轻量级库,用于读取/写入ini文件

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中使用

MIT许可协议

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"表。

无运行时依赖