1

我有一个关于 Python 的快速问题tempfile

我什么时候应该使用临时文件?如果我tempfile.mkstemp用来创建一个临时文件,这和普通文件一样吗?有什么区别?谢谢。

4

3 回答 3

4

文档几乎说明了一切。在我看来,您应该tempfile在需要创建文件但不关心其名称时使用。如果您愿意,您可以在完成或保存后自动删除文件。它也可以对其他程序可见或不可见。

于 2012-09-27T18:11:40.587 回答
0

学习 Python

使用临时文件

如果您曾经编写过 shell 脚本并且需要使用中间文件来存储处理的某些中间阶段的结果,那么您可能会遭受目录垃圾的困扰。您从 20 个名为 log_001.txt、log_002.txt 等的文件开始,而您想要的只是一个名为 log_sum.txt 的摘要文件。此外,您还有一大堆 log_001.tmp、log_001.tm2 等文件,虽然它们被标记为临时文件,但仍然存在。至少这是我们在自己的生活中所看到的。要将订单放回您的目录,请使用特定目录中的临时文件并在之后清理它们。

为了帮助解决这个临时文件管理问题,Python 提供了一个名为 tempfile 的漂亮小模块,它发布了两个函数:mktemp() 和 TemporaryFile()。前者返回计算机上为临时文件保留的目录中当前未使用的文件的名称(例如 Unix 上的 /tmp 或 Windows 上的 C:\TMP)。后者直接返回一个新的文件对象。

于 2012-09-27T18:12:52.693 回答
0

这篇文章很好地解释了它的用途。

http://pythoncentral.org/using-the-python-tempfile-module/

第一段提供了很好的总结

在使用 Python 编程时,有时您可能会有一些需要以文件形式使用或操作但尚未写入文件的数据。自然,想到的第一个解决方案是打开一个新文件或现有文件,写入数据并最后保存(如果您不熟悉如何执行此操作,请查看文章在 Python 中读取和写入文件)。但是,也可能是这样的情况,一旦您的脚本完成运行,您就不再需要或不需要该文件,因此,不希望它在您或任何其他人的文件系统中徘徊.

于 2012-09-27T18:10:36.850 回答