#ini #config-file #config-parser #configuration #conf #cfg

rust-ini

Rust 编写的 Ini 配置文件解析库

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配置

Download history 254560/week @ 2024-05-03 270093/week @ 2024-05-10 280950/week @ 2024-05-17 266530/week @ 2024-05-24 303175/week @ 2024-05-31 280267/week @ 2024-06-07 271045/week @ 2024-06-14 269154/week @ 2024-06-21 249179/week @ 2024-06-28 256920/week @ 2024-07-05 293679/week @ 2024-07-12 309214/week @ 2024-07-19 285697/week @ 2024-07-26 312915/week @ 2024-08-02 347085/week @ 2024-08-09 315725/week @ 2024-08-16

1,318,825 每月下载量
用于 365 个 Crates (170 个直接使用)

MIT 许可证

87KB
2K SLoC

Rust 中的 INI

Build & Test crates.io doc.rs

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 中找到。

许可证

MIT 许可证 (MIT)

版权所有 (c) 2014 Y. T. CHUNG

以下对本软件和相关文档文件(以下简称 "软件")的副本的任何人,免费许可,可以不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向提供软件的个人做上述行为,前提是满足以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按 "原样" 提供的,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他方式,源于、源于或与软件或其使用或以其他方式有关。

依赖项

~0.9–1.2MB
~20K SLoC