大家好,欢迎来到IT知识分享网。
学习使用 tempfile 在 Python 中编写临时文件和文件夹
动机
通常,我们希望在执行某些操作时将数据短暂地存储在文件或文件夹中,但我们不一定希望这些结构存在于程序执行之外。 例如…
- 测试:我们可能希望在单元测试期间验证我们的软件是否正确写入了文件或文件夹,但我们可能不想在运行我们的测试套件后保留这些数据。
- 文件上传到云端:我们可能希望在上传到 AWS S3 或类似服务之前写出数据,但我们写入的文件只是上传时附带的。 我们不希望文件在上传后保留在本地。
- 内存不足的数据操作:我们可能需要与可能不容易放入 RAM 的数据存储进行交互,但我们可能希望避免在程序范围之外使硬盘存储混乱。
Python 的 tempfile 模块提供了支持这些确切用例的工具!
执行
让我们看一下支持临时文件和目录的 tempfile 实用程序。
临时文件
如果我们想将数据临时写入单个文件,则 tempfile.TemporaryFile 可以节省时间。
import matplotlib.pyplot as plt import numpy as np def example_TemporaryFile(): """ Example application of TemporaryFile. """ with tempfile.TemporaryFile() as fp: xs = np.arange(0, 100, 0.1) ys = np.cos(xs) plt.plot(xs, ys) plt.savefig("temp.png") ... # perform data upload or manipulation here! if __name__ == "__main__": example_TemporaryFile()
有用的变体包括……
- NamedTemporaryFile:如果我们希望我们的程序或(依赖于操作系统的)其他程序能够引用我们的文件,NamedTemporaryFile 允许我们将临时文件写入特定路径。
- SpooledTemporaryFile:支持我们的内存不足用例,SpooledTemporaryFile 允许我们将数据写入内存,直到达到某个大小阈值,此时数据写入磁盘。
临时目录
如果我们有多个文件或者我们想模拟一个目录创建,我们手头有 TemporaryDirectory。
import tempfile import matplotlib.pyplot as plt import numpy as np def example_TemporaryDirectory(): """ Example application of TemporaryDirectory. """ with tempfile.TemporaryDirectory() as fd: for i in range(100): file_path = f"{fd}/{i}.png" xs = np.arange(0, 100, 0.1) ys = np.cos(xs) plt.plot(xs, ys) plt.savefig(file_path) ... # perform data upload or manipulation here! if __name__ == "__main__": example_TemporaryDirectory()
我希望你学到了一些东西! 谢谢阅读!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/70581.html