临时目录的原始文件不是360的合法文件_python3从零学习-5.4.6、生成临时文件和目录tempfile...

源代码: Lib/tempfile.py

628b617050c0bd6ad82a154656d9f94f.png

该模块用于创建临时文件和目录,它可以跨平台使用。TemporaryFile、NamedTemporaryFile、TemporaryDirectory 和 SpooledTemporaryFile 是带有自动清理功能的高级接口,可用作上下文管理器。mkstemp() 和 mkdtemp() 是低级函数,使用完毕需手动清理。

所有由用户调用的函数和构造函数都带有参数,这些参数可以设置临时文件和临时目录的路径和名称。该模块生成的文件名包括一串随机字符,在公共的临时目录中,这些字符可以让创建文件更加安全。为了保持向后兼容性,参数的顺序有些奇怪。所以为了代码清晰,建议使用关键字参数。

这个模块定义了以下内容供用户调用:

  • tempfile.TemporaryFile(mode='w+b', buffering=None, encoding=None, newline=None, suffix=None, prefix=None, dir=None)

返回一个 file-like object 作为临时存储区域。创建该文件使用了与 mkstemp() 相同的安全规则。它将在关闭后立即销毁(包括垃圾回收机制关闭该对象时)。在 Unix 下,该文件在目录中的条目根本不创建,或者创建文件后立即就被删除了,其他平台不支持此功能。您的代码不应依赖使用此功能创建的临时文件名称,因为它在文件系统中的名称可能是可见的,也可能是不可见的。

生成的对象可以用作上下文管理器(参见 例子)。完成文件对象的上下文或销毁后,临时文件将从文件系统中删除。

mode 参数默认值为 'w+b' 因此创建的文件可以读取或写入而不用关闭。 因为是使用二进制模式,所以它在所有平台上的行为都保持一致而不用关心所存储的是什么数据。 buffering, encoding 和 newline 的解读方式与 open() 相同。

参数 dir、prefix 和 suffix 的含义和默认值都与它们在 mkstemp() 中的相同。

在 POSIX 平台上,它返回的对象是真实的文件对象。在其他平台上,它是一个文件类对象 (file-like object),它的 file 属性是底层的真实文件对象。

如果可用,则使用 os.O_TMPFILE 标志(仅限于 Linux,需要 3.11 及更高版本的内核)。

在 3.5 版更改: 如果可用,现在用的是 os.O_TMPFILE 标志。

  • tempfile.NamedTemporaryFile(mode='w+b', buffering=None, encoding=N
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值