3个版本

0.1.2 2022年1月31日
0.1.1 2022年1月31日
0.1.0 2022年1月31日

#742 in 文件系统

MIT 协议

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