3个版本
0.1.2 | 2022年1月31日 |
---|---|
0.1.1 | 2022年1月31日 |
0.1.0 | 2022年1月31日 |
#742 in 文件系统
21KB
393 行
rsfile: Rust 文件工具
A Rust库,可以轻松快速地操作文件或网页
功能
rsfile
库包括简化常用I/O、文本文件、csv文件和网页爬虫的操作函数。
示例
文件操作
use rsfile::*;
fn main(){
use rsfile;
// read a csv file and load a list of HashMap models
// where you can get value by key.
let result=rsfile::read_csv_simple("data/test.csv");
for model in result{
println!("RECORD: {:?}",model);
}
// save a csv file by using a list of HashMap models
// where you can get value by key.
let list_model=rsfile::read_csv("data/test.csv");
let flag=rsfile::write_csv("data/test1.csv",list_model);
println!("{}",flag);
}
网页操作
use rsfile::*;
fn main(){
// 1. get HTML page information (including html string, title, meta, raw text, etc.)
let page=fetch_html("https://www.rust-lang.net.cn/");
for k in page.keys(){
println!("{}\t{:?}",k,page.get(k));
};
//2. get HTML page from a local path and obtain its HTML string
let page=read_html_file("data/webpage.html");
let html_opt=page.get("html");
}
标准IO操作
use rsfile::*;
fn main(){
// read a line
let line=input_line();
// read a line after a message
let line=input_line_with_msg("Please input a line:");
// read binary
let content = read_binary("data/test.txt");
// write a text file for one time
write_text_once("data/test2.txt","Hello, Rust!");
// write a list of lines
let mut lines:Vec<&str>=Vec::new();
lines.push("a");
lines.push("b");
append_text("data/test2.txt",lines);
}
其他可用函数包括
文本文件
- read_text()
- write_text()
- read_lines()
- append_text()
- write_text_once()
- write_lines()
csv文件
- read_csv()
- read_csv_text()
- read_csv_with_error()
- write_csv_with_error()
HTML页面
- fetch_html()
- read_html_file()
- read_html_string()
输入/输出
- input()
- input_line()
- input_line_with_msg()
- print()
- read_binary()
更多示例代码可以在这里找到。
许可证
MIT
依赖
~11–20MB
~302K SLoC