3 个版本
0.1.2 | 2021 年 9 月 19 日 |
---|---|
0.1.1 | 2021 年 6 月 21 日 |
0.1.0 | 2021 年 6 月 21 日 |
#2920 in 解析器实现
每月 26 次下载
16KB
245 行
SimpleIni
SimpleIni 是一个非常简单的库,用于解析和写入 INI 格式
许可证
SimpleIni 采用 MIT 许可证或 Apache-2 许可证,由您自行决定。
示例
解析 INI 文件
use simpleini::Ini;
fn main() {
let path = "/tmp/example.ini";
let ini = match Ini::from_file(path) {
Ok(ini) => ini,
Err(e) => {
eprintln!("Failed to parse /tmp/example.ini: {:?}", e);
std::process::exit(1);
}
};
}
创建新的 INI 文件
use simpleini::{Ini, IniSection};
// These are only needed when using Ini#add_section_with_values
use std::collections::HashMap;
use std::iter::FromIterator;
use std::array::IntoIter;
fn main() {
let mut ini = Ini::new();
ini.set("some_global", "VALUE");
// Manually (and verbosely) create a section
let mut section = IniSection::new("SectionA");
section.set("some_section_variable", "OTHER_VALUE");
ini.add_section(section);
// Create a Section from a name and a HashMap<AsRef<str>, AsRef<str>>
ini.add_section_with_values("SectionB", HashMap::from_iter(IntoIter::new([("var_b", "value_b")])));
// Write the INI file to disk
match ini.to_file("/tmp/example.ini") {
Ok(()) => {},
Err(e) => {
eprintln!("Failed to write INI to disk: {:?}", e);
std::process::exit(1);
}
};
}
依赖项
~2.2–3MB
~54K SLoC