如何使用带有函数append\u path的tar-rust包

如何使用带有函数append\u path的tar-rust包,rust,path,tar,Rust,Path,Tar,因为医生说 此函数将打开路径指定的文件,并将该文件作为具有适当元数据集的名称插入存档,返回写入时发生的任何I/O错误。此存档中文件的路径名将为。如果名称必须是相对路径,则路径名将为 但我想使用其他文件,以下是我的代码: 使用std::fs; 使用serde::反序列化;//导入trait和派生宏 外部板条箱焦油; 使用std::io::prelude::*; 使用tar::Builder; 使用std::path::PathBuf; #[派生(反序列化、调试)] 结构配置{ ip:字符串, 端口

因为医生说

此函数将打开路径指定的文件,并将该文件作为具有适当元数据集的名称插入存档,返回写入时发生的任何I/O错误。此存档中文件的路径名将为。如果名称必须是相对路径,则路径名将为

但我想使用其他文件,以下是我的代码:

使用std::fs;
使用serde::反序列化;//导入trait和派生宏
外部板条箱焦油;
使用std::io::prelude::*;
使用tar::Builder;
使用std::path::PathBuf;
#[派生(反序列化、调试)]
结构配置{
ip:字符串,
端口:可选,
钥匙:钥匙,
}
#[派生(反序列化、调试)]
结构键{
github:String,
特拉维斯:选择,
}
fn main(){
let path=fs::read_dir(“./”).unwrap();
对于路径中的路径{
println!(“名称:{}”,path.unwrap().path().display())
}
让config_string:string=fs::read_to_string(“config.toml”).unwrap();
让config:config=toml::from_str(&config_string).unwrap();
断言(config.ip,“127.0.0.1”);
assert_eq!(config.port,无);
断言(config.keys.github,“XXXXXXXXXXXXXXXXXX”);
assert_eq!(config.keys.travis.as_ref().unwrap(),“yyyyyyyyyyyyyy”);
println!(“rect1是{:#?}”,config);
让file=fs::file::create(“source/foo.tar”).unwrap();
让mut a=Builder::new(文件);
让mut path=PathBuf::new();
push(r“E:\”);
//路径推送(“窗口”);
//路径推送(“system32”);
a、 append_path(“qbweb_文件_wenjian.wenjian”).unwrap();
//a.append_file(“b.txt”),&mut fs::file::open(“c.txt”).unwrap()).unwrap();
}

您的问题是?意味着当我使用tar packages函数“append\u path”时,无法加载项目路径以外的文件