44 个版本
0.21.1 | 2024年8月3日 |
---|---|
0.21.0 | 2024年3月13日 |
0.20.0 | 2023年10月26日 |
0.19.0 | 2023年5月4日 |
0.4.3 | 2015年3月26日 |
#2 在 配置 中
1,318,825 每月下载量
用于 365 个 Crates (170 个直接使用)
87KB
2K SLoC
Rust 中的 INI
INI 是某些平台或软件的配置文件的非正式标准。INI 文件是由 "部分" 和 "属性" 组成的简单文本文件。
这是一个 Rust 的 INI 文件解析器。
[dependencies]
rust-ini = "0.21"
用法
- 创建一个 Ini 配置文件。
extern crate ini;
use ini::Ini;
fn main() {
let mut conf = Ini::new();
conf.with_section(None::<String>)
.set("encoding", "utf-8");
conf.with_section(Some("User"))
.set("given_name", "Tommy")
.set("family_name", "Green")
.set("unicode", "Raspberry树莓");
conf.with_section(Some("Book"))
.set("name", "Rust cool");
conf.write_to_file("conf.ini").unwrap();
}
然后你会得到 conf.ini
encoding=utf-8
[User]
given_name=Tommy
family_name=Green
unicode=Raspberry\x6811\x8393
[Book]
name=Rust cool
- 从文件
conf.ini
读取
use ini::Ini;
fn main() {
let conf = Ini::load_from_file("conf.ini").unwrap();
let section = conf.section(Some("User")).unwrap();
let tommy = section.get("given_name").unwrap();
let green = section.get("family_name").unwrap();
println!("{:?} {:?}", tommy, green);
// iterating
for (sec, prop) in &conf {
println!("Section: {:?}", sec);
for (key, value) in prop.iter() {
println!("{:?}:{:?}", key, value);
}
}
}
- 更多细节可以在
examples
中找到。
许可证
版权所有 (c) 2014 Y. T. CHUNG
以下对本软件和相关文档文件(以下简称 "软件")的副本的任何人,免费许可,可以不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向提供软件的个人做上述行为,前提是满足以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按 "原样" 提供的,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他方式,源于、源于或与软件或其使用或以其他方式有关。
依赖项
~0.9–1.2MB
~20K SLoC