get_work_dir

Function get_work_dir 

Source
pub fn get_work_dir() -> Result<PathBuf, AppError>
Expand description

获取工作目录路径

根据运行环境自动选择合适的工作目录:

§开发环境

  • 使用 CARGO_MANIFEST_DIR/workspace 目录
  • 测试时使用 CARGO_MANIFEST_DIR/workspace/test 目录

§生产环境

  • 基于可执行文件位置推断工作目录
  • 如果在 bin/sbin/ 目录中,使用父目录作为工作目录
  • 否则使用可执行文件所在目录

§示例

use knife_util::{get_work_dir, AppError};

fn main() -> Result<(), AppError> {
    let work_dir = get_work_dir()?;
    println!("工作目录: {:?}", work_dir);
    Ok(())
}