我刚刚了解了pathlib,据说应该使文件路径和位置与操作系统无关。 但是,当使用写文件功能时,pathlib在Windows“ \”中添加了一个额外的反斜杠(已在基于POSIX的os中进行了测试),这是代码
int main() {
// first thread
auto thread1 = std::make_unique<std::thread>([]() {
std::this_thread::sleep_for(std::chrono::seconds(1));
std::cout << "over\n";
});
// disposing to second thread
std::thread([thread2 = std::move(thread1)](){
thread2->join();
}).detach();
//spinning a new thread
thread1.reset(new std::thread([]() {
std::this_thread::sleep_for(std::chrono::seconds(1));
std::cout << "next over\n";
}));
thread1->join();
return 0;
}
它给出以下输出
要写入的文件是>> subDir \ myFile
FileNotFoundError:[错误2]没有这样的文件或目录:'subDir \\ myFile'
答案 0 :(得分:0)
大家好,感谢您的建议,首先仅创建目录路径(不带文件名),然后再创建父目录,而
self.path.mkdir(parents=True, exist_ok=True)