如何将/proc/meminfo文本文件转换为指定格式的HashMap?
问题:将/proc/meminfo内容转换为指定格式的HashMap
目标
我需要把/proc/meminfo的内容转换成一个HashMap,格式如下:
{ "MemTotal": "16256760 kB", "MemFree": "462276 kB", "MemAvailable": "10108672 kB", "Buffers": "1432356 kB", "Cached": "7138456 kB", ... }
/proc/meminfo的原始输出示例:
cat /proc/meminfo MemTotal: 16256760 kB MemFree: 2685512 kB MemAvailable: 11105752 kB Buffers: 774076 kB Cached: 7722948 kB ...
要求HashMap的条目数量和文件的行数完全一致。
当前情况
我现在的代码生成的HashMap,键是手动定义的Entry1、Entry2这类字符串,值是文件里的整行内容:
fn read_file_to_hashmap(path: impl AsRef<Path>) -> HashMap<String, String> { let reader = BufReader::new(File::open(path).expect("error here")); let hashmap = [ "Entry1".to_string(), "Entry2".to_string(), "Entry3".to_string(), "Entry4".to_string(), "Entry5".to_string(), ] .into_iter() .zip(reader.lines().map(Result::unwrap)) .collect::<HashMap<_, _>>(); return hashmap; }
println!输出的结果如下:
{ "Entry1": "MemTotal: 16256760 kB", "Entry5": "Cached: 7138456 kB", "Entry2": "MemFree: 462276 kB", "Entry4": "Buffers: 1432356 kB", "Entry3": "MemAvailable: 10108672 kB", }
请问要怎么修改代码才能实现我想要的目标?
内容的提问来源于stack exchange,提问作者GraXx
相关产品推荐
相关产品推荐

