14个版本

0.1.13 2024年3月22日
0.1.12 2023年12月22日
0.1.11 2021年4月28日
0.1.10 2021年3月23日

#34 in 文件系统

Download history 24377/week @ 2024-04-27 29617/week @ 2024-05-04 27196/week @ 2024-05-11 27020/week @ 2024-05-18 25543/week @ 2024-05-25 25275/week @ 2024-06-01 28638/week @ 2024-06-08 28722/week @ 2024-06-15 26551/week @ 2024-06-22 25002/week @ 2024-06-29 27417/week @ 2024-07-06 29757/week @ 2024-07-13 34249/week @ 2024-07-20 29602/week @ 2024-07-27 30312/week @ 2024-08-03 24472/week @ 2024-08-10

123,894 每月下载量
116 个Crates中使用 (83直接)

Apache-2.0

16KB
92

temp-dir

crates.io version license: Apache 2.0 unsafe forbidden pipeline status

提供TempDir结构体。

功能

  • 在系统临时目录中创建目录
  • 在丢弃时递归删除目录及其内容
  • 删除符号链接且不跟随它们
  • 可选的名称前缀
  • 仅依赖于std
  • forbid(unsafe_code)
  • 100%测试覆盖率

限制

替代方案

  • tempdir
    • 未维护
    • 受欢迎且成熟
    • 重量级依赖(rand、winapi)
  • tempfile
    • 受欢迎且成熟
    • 包含unsafe,依赖关系充满了unsafe
    • 重量级依赖(libc、winapi、rand等)
  • test_dir
    • 有一个方便的TestDir结构体
    • 文档不完整
  • temp_testdir
    • 文档不完整
  • mktemp
    • 在Unix上设置目录模式为0700
    • 包含unsafe
    • 没有自述文件或在线文档

相关Crates

示例

use temp_dir::TempDir;
let d = TempDir::new().unwrap();
// Prints "/tmp/t1a9b-0".
println!("{:?}", d.path());
let f = d.child("file1");
// Prints "/tmp/t1a9b-0/file1".
println!("{:?}", f);
std::fs::write(&f, b"abc").unwrap();
assert_eq!(
    "abc",
    std::fs::read_to_string(&f).unwrap(),
);
// Prints "/tmp/t1a9b-1".
println!(
    "{:?}", TempDir::new().unwrap().path());

Cargo Geiger安全报告


Metric output format: x/y
    x = unsafe code used by the build
    y = total unsafe code found in the crate

Symbols: 
    🔒  = No `unsafe` usage found, declares #![forbid(unsafe_code)]= No `unsafe` usage found, missing #![forbid(unsafe_code)]
    ☢️  = `unsafe` usage found

Functions  Expressions  Impls  Traits  Methods  Dependency

0/0        0/0          0/0    0/0     0/0      🔒  temp-dir 0.1.13

0/0        0/0          0/0    0/0     0/0    

变更日志

  • v0.1.13 - 更新文档。
  • v0.1.12 - 当目录已存在时工作。
  • v0.1.11
    • 返回std::io::Error而不是String
    • 添加 cleanup
  • v0.1.10 - 实现 EqOrdHash
  • v0.1.9 - 增加测试覆盖率
  • v0.1.8 - 添加 leak
  • v0.1.7 - 更新文档:警告关于 std::fs::remove_dir_all 在 Windows 上不可靠。警告关于可预测的目录和文件名。感谢 Reddit 用户 burntsushi
  • v0.1.6 - 添加 TempDir::panic_on_cleanup_error。感谢 Reddit 用户 KhorneLordOfChaosdpc_pw 的评论。
  • v0.1.5 - 解释如何处理符号链接。感谢 Reddit 用户 Mai4eeze 提供了这个 想法
  • v0.1.4 - 更新文档
  • v0.1.3 - 代码微调,更新文档
  • v0.1.2 - 更新文档
  • v0.1.1 - 修复许可证
  • v0.1.0 - 初始版本

许可证:Apache-2.0

无运行时依赖