Crates.io | path-permission |
lib.rs | path-permission |
version | 0.1.2 |
source | src |
created_at | 2021-07-03 16:00:33.365265 |
updated_at | 2021-07-07 09:11:02.469224 |
description | Rust Path trait to get the permission. |
homepage | |
repository | https://github.com/CC2130/path-permission |
max_upload_size | |
id | 418254 |
size | 11,102 |
在已有一个确定的路径时,可依此库来获取路径文件的权限。
它为Path(Buf)
提供了一个名为PathPermission
的特性(trait),在使用Path
类型
时,可以此获取其文件权限,是否可读(r)、可写(w)、可执行(x)。
目前只支持 Unix 类系统。
use std::path::Path;
extern crate path_permission;
use path_permission::*;
let path = Path::new("src/lib.rs");
assert_eq!(path.is_readable().unwrap(), true);
assert_eq!(path.is_writable().unwrap(), true);
assert_eq!(path.is_excutable().unwrap(), false);
assert_eq!(path.is_removable().unwrap(), true);
assert_eq!(path.check_access(0o644).unwrap(), true);
assert_eq!(path.get_access().unwrap(), "0644");
assert_eq!(path.chmod(0o640).unwrap(), true);
// 注意,这里已经格式化为字符串
assert_eq!(path.get_access().unwrap(), "0640");
assert_eq!(path.chmod(0o644).unwrap(), true);
let new_path = Path::new("a/b/d/e/f");
assert_eq!(new_path.is_creatable().unwrap(), true);
在使用时需注意:
计划支持 rwx 字符串输出、权限变更方法。
此项目部分代码,来源自项目permissions。