rust读写ini

  • 代码示例(需要 configparser 库)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
use configparser::ini::Ini;

fn main() {
    // 加载ini
    let mut config = Ini::new();
    let map = config.load("../conf.ini");
    println!("{:?}", map);

    // 读取值
    // Result<Option<u64>, String>
    let port = match config.getuint("main", "port") {
        Ok(port) => match port {
            Some(val) => val,
            None => 6588,
        },
        Err(_) => 6588,
    };
    println!("修改前: port = {}", port);

    // Option<String>
    let user = match config.get("main", "user") {
        Some(user) => user,
        None => String::from("www"),
    };
    println!("修改前: user = {}", user);

    // 修改值
    config.set("main", "port", Some(String::from("999")));
    let port = match config.getuint("main", "port") {
        Ok(port) => match port {
            Some(val) => val,
            None => 6588,
        },
        Err(_) => 6588,
    };
    println!("修改后: port = {}", port);

    config.set("main", "user", Some(String::from("root")));
    let user = match config.get("main", "user") {
        Some(user) => user,
        None => String::from("www"),
    };
    println!("修改后: user = {}", user);

    // 保存修改
    config.write("../conf.ini").unwrap();
}
updatedupdated2024-10-012024-10-01