当前位置: 首页 > news >正文

常山做网站撤销网站备案

常山做网站,撤销网站备案,网站排名消失,五华网站建设依赖的包 cargo add clap --features derive clap命令行参数解析 项目目录 代码 main.rs mod utils;use clap::Parser; use utils::{editor::open_in_vscode,fs_tools::{file_exists, get_file, is_dir, list_dir, read_file}, }; /// 在文件中搜索模式并显示包含它的行。…

依赖的包

cargo add clap --features derive
clap命令行参数解析

项目目录

在这里插入图片描述

代码

main.rs

mod utils;use clap::Parser;
use utils::{editor::open_in_vscode,fs_tools::{file_exists, get_file, is_dir, list_dir, read_file},
};
/// 在文件中搜索模式并显示包含它的行。
#[derive(Parser)]
struct Cli {/// 要读取的文件的路径path: std::path::PathBuf,/// 项目文件夹路径dir: std::path::PathBuf,
}
fn main() {let args = Cli::parse();let path = args.path;let dir = args.dir;if !is_dir(&dir.to_str().unwrap()) {if !file_exists(&path.to_str().unwrap()) {println!("文件不存在");std::process::exit(1);}let file = get_file(&path.to_str().unwrap()).expect("无法打开文件");match read_file(file) {Ok(content) => println!("{:?}", content),Err(e) => println!("读取文件失败: {:?}", e),}} else {open_in_vscode(&dir.to_str().unwrap());}
}

utils/fs_tools.rs

use std::io::Read;// 读取文件
pub fn read_file(file: std::fs::File) -> Result<String, std::io::Error> {let mut reader = std::io::BufReader::new(file);let mut contents = String::new();reader.read_to_string(&mut contents)?;Ok(contents)
}
// 文件是否存在
pub fn file_exists(path: &str) -> bool {std::path::Path::new(path).exists()
}
// 打开文件
pub fn get_file(path: &str) -> Result<std::fs::File, std::io::Error> {std::fs::File::open(path)
}
// 是否为文件夹
pub fn is_dir(path: &str) -> bool {std::path::Path::new(path).is_dir()
}
// 列出该文件夹内的所有文件或文件夹
pub fn list_dir(path: &str) -> Result<Vec<String>, std::io::Error> {let files = std::fs::read_dir(path)?;let mut file_list = Vec::new();for file in files {file_list.push(file.unwrap().path().to_str().unwrap().to_string());}Ok(file_list)
}

utils/editor.rs

pub fn open_in_vscode(path: &str) {let cmd = format!("code {}", path);std::process::Command::new("sh").arg("-c").arg(cmd).spawn().expect("无法打开文件夹");
}

utils/mod.rs

pub mod editor;
pub mod fs_tools;

本地测试

cargo run -- fancy dir

打包构建

cargo build --release
cargo build --release 是一个 Cargo 命令,用于构建 Rust 项目并生成优化后的二进制文件或库。
cargo build 是 Cargo 的一个命令,用于编译和构建 Rust 项目。它会根据项目的 Cargo.toml 文件配置进行构建,并将生成的二进制文件或库放在 target/debug 目录下。
--release
--release 是一个命令行选项,用于指示 Cargo 在构建过程中使用优化。使用优化可以降低生成的二进制文件或库的大小,提高程序的运行速度,但同时会增加编译时间。默认情况下,cargo build 不使用优化,生成的二进制文件或库针对调试进行了优化。

安装到本地

cargo install --path . 是一个 Cargo 命令,用于在当前目录(. 表示当前目录)安装并生成一个可执行文件或库
使用.表示当前目录。
当你在项目的根目录下运行此命令时,Cargo 会编译并安装该项目。如果项目是一个可执行文件,它会生成一个二进制文件;如果是一个库,它会生成一个库文件。安装完成后,你可以在系统的 PATH 变量中的某个目录找到这个生成的文件,例如在 Unix 系统中的 /usr/local/bin 目录。
需要注意的是,在运行此命令之前,确保已在本地安装了 Cargo 和 Rust。如果尚未安装,请访问 Rust 官方网站 下载并安装。·
然后就可以直接在终端执行我们的命令行工具了fancy

结果展示

在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/508450/

相关文章:

  • 龙华营销型网站制作互联网营销是干嘛的
  • 常州建设银行新北分行网站免费网站建站教程
  • 广州网站建设排名网站后台重置密码怎么做
  • 网站网页设计代码国家建设厅官方网站
  • 石家庄网站建设就找获取wordpress所有分类名字和id
  • 上海做网站建设公司排名电脑网页
  • 网站服务器租用合同jeecg 做网站
  • dede网站禁止ip访问江门国际网
  • 阿里云服务器怎么发布网站网站建设硬件和软件技术环境配置
  • 怎么注册自己的网站域名dw做的网站能搜到吗
  • 外国一些做环保袋的网站有哪些做共享充电宝的网站
  • 外贸网站免费模板小米官网页面
  • 徐州做网站需要多少钱wordpress又拍云本地备份
  • 网站代码生成网站搭建wordpress环境
  • 小程序 微网站做网站模板赚钱
  • 网站建设的行业动态鲜花网站数据库建设
  • 淘宝不允许 网站建设属于网络营销站点推广的是
  • 虚拟商城网站网站开发招标公告
  • vs 2015 网站开发网站开发人员分工
  • 《网站开发与应用谷歌google play官网下载
  • 上海个人网站建立wordpress 404跳转首页
  • 晋江市建设招投标网站川畅互联咨询 网站建设
  • 建设网站后期需要哪些北京和田合瑞建设有限公司网站
  • 景安网站备案 不去拍照wordpress 批量建站
  • w网站制作和推广有代源码怎么做自己网站
  • 网上学习网站有哪些百度网盘网页版登录
  • 做网站一般用什么程序网站制作者
  • 网站推广办法站点搭建
  • 公司想建一个网站找谁做局域网网站域名怎么做
  • 一个thinkphp搭建的微网站陕西网站建设设计公司