我知道如何在 Python 中使用tempfile
.
我有一个封装用户环境的类。我还有一个单元测试,它创建一个临时的虚拟用户环境并用一些用于测试的文件填充它。完成此操作后,我想清理所有内容,从而从该虚拟用户目录中删除所有内容(使用shutils.rmtree
)
我有一个包装原始类的虚拟类,它阻止它获取真正的用户目录并返回虚拟类。虽然我担心有人可能会忘记这一点,可能会改变它或完全删除包装类。这可能会奏效,开发人员最终会丢失他/她的主目录中的所有内容。虽然这可能会给他/她一个很好的教训,但这是不可接受的。
我可以检查 '/tmp/' 是否位于用户主页的路径开头,以便我知道删除它是安全的,但这不适用于 Windows。由于 tempfile 已经知道如何创建目录,它还能够判断目录是否在临时区域中。虽然我不知道该怎么做。
有任何想法吗?