pytest中的tmpdir是否仅在我们写入文件时才创建文件?

Does tmpdir in pytest create a file only when we write to it?

当我在 pytest 中使用 fp = tmpdir.join("hello.txt") 时,pytest 实际上是在我的临时目录中创建一个文件,还是仅在我编写 fp.write("hello") 时才创建?

不,pytest 在您实际写入文件之前不会创建该文件。在引擎盖下,如文档中所述,tmpdir 使用 py.path. When you call join 它将懒惰地获取新路径,这意味着它不存在,直到您实际向其写入内容。