本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
全文介绍系统内置 tempfile 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
无。
◆object
tempfile.SpooledTemporaryFile
tempfile.TemporaryDirectory
tempfile._RandomNameSequence
tempfile._TemporaryFileCloser
tempfile._TemporaryFileWrapper
tempfile, fullname=tempfile, file=tempfile.py
临时文件。
该模块提供了用于创建临时文件和目录的通用、低级和高级接口。
该模块提供的所有接口都可以使用,而不用担心竞态条件,除了'mktemp'。'mktemp'受竞争条件影响,不应该使用;它只提供向后兼容性。
默认路径名返回为字符串。如果您提供字节作为输入,所有返回值将以字节为单位。示例:
>>> tempfile.mkstemp()
(4, '/tmp/tmptpu9nin8')
>>> tempfile.mkdtemp(suffix=b'')
b'/tmp/tmppbi8f0hy'
该模块还为用户提供了一些数据项:
TMP_MAX - 放弃之前将尝试的最大数量的名称
tempdir - 如果在第一次使用此模块中的任何例程之前将其设置为字符串,则它将被视为存储临时文件的另一个候选位置。
序号 | 类别 | 数量 |
---|---|---|
1 | int | 3 |
4 | str | 6 |
6 | list | 1 |
8 | dict | 1 |
9 | module | 8 |
10 | class | 6 |
11 | function | 16 |
12 | builtin_function_or_method | 2 |
13 | residual | 5 |
14 | system | 9 |
15 | private | 25 |
16 | all | 48 |
1 _text_openflags 1282
2 _bin_openflags 34050
3 TMP_MAX 2147483647
4 template tmp
functools, fullname=functools, file=functools.py
py -用于处理函数和可调用对象的工具
warnings, fullname=warnings, file=warnings.py
警告子系统的Python部分。
io, fullname=io, file=io.py
os, fullname=os, file=os.py
shutil, fullname=shutil, file=shutil.py
用于复制和归档文件和目录树的实用程序函数。这里的函数不会复制Mac上的资源fork或其他元数据。
errno, fullname=errno, file=
这个模块提供了标准的errno系统符号。
每个符号的值是对应的整数值,例如,在大多数系统中,errno.ENOENT等于整数2。
字典errno.Errorcode将数字代码映射到符号名称,例如errno.errorcode[2]可以是字符串'ENOENT'。不定义与底层系统无关的符号。
要将错误代码映射到错误消息,请使用os.strerror()函数,例如os.strerror(2)可以返回'No such file or directory'。
weakref, fullname=weakref, file=weakref.py
对Python的弱引用支持。这个模块是[PEP 205](http://www.python.org/dev/peps/pep-0205/)的实现。
_thread, fullname=_thread, file=
这个模块提供了编写多线程程序的基本操作。threading模块提供了一个更方便的接口。
_exists(fn), module=tempfile, line:84 at tempfile.py
_infer_return_type(*args), module=tempfile, line:93 at tempfile.py
查看所有参数的类型,并推断出它们隐含的返回类型。
_sanitize_params(prefix, suffix, dir), module=tempfile, line:114 at tempfile.py
此模块中大多数api的通用参数处理。
_candidate_tempdir_list(), module=tempfile, line:159 at tempfile.py
生成一个候选临时目录的列表,这些目录的默认tempdir将尝试。
_get_default_tempdir(), module=tempfile, line:186 at tempfile.py
计算用于临时文件的默认目录。
这个例程应该只调用一次。
我们通过尝试在该目录中创建和写入文件来确定候选临时目录是否可用。
如果成功,则删除测试文件。
为了防止拒绝服务,测试文件的名称必须是随机的。
_get_candidate_names(), module=tempfile, line:233 at tempfile.py
所有用户可调用接口的通用设置顺序。
_mkstemp_inner(dir, pre, suf, flags, output_type), module=tempfile, line:247 at tempfile.py
mkstemp、TemporaryFile 和 NamedTemporaryFile的通用代码。
gettempprefix(), module=tempfile, line:277 at tempfile.py
临时目录的默认前缀。
gettempprefixb(), module=tempfile, line:281 at tempfile.py
临时目录的默认前缀为字节。
gettempdir(), module=tempfile, line:287 at tempfile.py
tempfile.tempdir的访问器。
gettempdirb(), module=tempfile, line:299 at tempfile.py
tempfile.gettempdir()的字节版本。
mkstemp(suffix=None, prefix=None, dir=None, text=False), module=tempfile, line:303 at tempfile.py
用户可调用的函数,用于创建和返回唯一的临时文件。
返回值是一对(fd, name),其中 fd 是 os.open 返回的文件描述符,name是文件名。
如果'suffix'不是None,则文件名将以该后缀结束,否则将没有后缀。
如果'prefix'不是None,文件名将以该前缀开始,否则使用默认前缀。
如果'dir'不是None,文件将在该目录中创建,否则将使用默认目录。
如果指定'text'并且为true,则文件将以文本模式打开。否则(默认值)文件以二进制模式打开。在某些操作系统上,这没有区别。
如果'suffix', 'prefix'和'dir'中的任何一个不为None,则它们必须是相同的类型。如果它们是字节,则返回的名称为bytes; 否则为str。
该文件只能通过创建用户ID进行读写。
如果操作系统使用权限位来指示文件是否可执行,则该文件不能被任何人执行。此进程的子进程不继承文件描述符。调用方负责在处理完文件后删除它。
mkdtemp(suffix=None, prefix=None, dir=None), module=tempfile, line:343 at tempfile.py
用户可调用的函数,用于创建和返回唯一的临时目录。
返回值是目录的路径名。参数与mkstemp相同,除了不接受'text'参数。
目录是可读、可写和可搜索的,只有创建该目录的用户。调用方负责在处理完目录后删除该目录。
mktemp(suffix=‘’, prefix=‘tmp’, dir=None), module=tempfile, line:382 at tempfile.py
用户可调用函数返回唯一的临时文件名。文件未创建。
参数类似于mkstemp,除了不接受'text'参数,并且不支持suffix=None, prefix=None和bytes文件名。
该功能不安全,不建议使用。文件名可能指的是某个时间点上不存在的文件,但是当您开始创建它时,其他人可能已经抢先一步。
NamedTemporaryFile(mode=‘w+b’, buffering=-1, encoding=None, newline=None, suffix=None, prefix=None, dir=None, delete=True), module=tempfile, line:520 at tempfile.py
创建并返回一个临时文件。
参数:
'prefix', 'suffix', 'dir' -与mkstemp一样。
'mode' - io.open的mode参数(默认为“w+b”)。
'buffering' - io.open的缓冲区大小参数(默认为-1)。
'encoding' - io.open的encoding参数(默认None)
'newline' - io.open的换行参数(默认默认None)
'delete' -是否在关闭时删除文件(默认为True)。
该文件按照mkstemp()的方式创建。
返回一个具有类文件接口的对象;文件的名称可以通过其'name'属性访问。除非'delete'参数设置为False,否则文件将在关闭时自动删除。
NamedTemporaryFile(mode=‘w+b’, buffering=-1, encoding=None, newline=None, suffix=None, prefix=None, dir=None, delete=True), module=tempfile, line:520 at tempfile.py
同上:27 NamedTemporaryFile
在非posix和Cygwin系统上,假设不能在文件打开时解除链接。
Random, random.Random, module=random, line:0 at
绑定模块函数使用的随机数生成器基类。
_RandomNameSequence, tempfile._RandomNameSequence, module=tempfile, line:0 at
_RandomNameSequence的一个实例,生成一个无限的不可预知的字符串序列,可以安全地将其合并到文件名中。每个字符串长度为8个字符。
多个线程可以安全地同时使用同一个实例。_RandomNameSequence是一个迭代器。
1 characters=abcdefghijklmnopqrstuvwxyz0123456789_ kind:data type:str class:
2 rng=
kind:property type:property class:
_TemporaryFileCloser, tempfile._TemporaryFileCloser, module=tempfile, line:0 at
一个单独的对象,允许适当地关闭临时文件的底层文件对象,而无需向临时文件添加__del__方法。
1 close_called=False kind:data type:bool class:
2 file=None kind:data type:NoneType class:
3 close(self, unlink=_os.unlink)
kind=method class=_TemporaryFileCloser objtype=function line:437 at …\tempfile.py
_TemporaryFileWrapper, tempfile._TemporaryFileWrapper, module=tempfile, line:0 at
临时文件包装器该类为临时使用而打开的文件提供包装器。特别是,当不再需要该文件时,它会自动删除该文件。
1 close(self)
kind=method class=_TemporaryFileWrapper objtype=function line:503 at …\tempfile.py
关闭临时文件,可能会删除它。
SpooledTemporaryFile, tempfile.SpooledTemporaryFile, module=tempfile, line:0 at
临时文件包装器,专门用于在BytesIO或StringIO超过一定大小或需要文件时从实际文件切换到实际文件。
1 closed=
kind:property type:property class:
2 encoding=kind:property type:property class:
3 mode=kind:property type:property class:
4 name=kind:property type:property class:
5 newlines=kind:property type:property class:
6 softspace=kind:property type:property class:
7 close(self)
kind=method class=SpooledTemporaryFile objtype=function line:688 at …\tempfile.py
8 fileno(self)
kind=method class=SpooledTemporaryFile objtype=function line:704 at …\tempfile.py
9 flush(self)
kind=method class=SpooledTemporaryFile objtype=function line:708 at …\tempfile.py
10 isatty(self)
kind=method class=SpooledTemporaryFile objtype=function line:711 at …\tempfile.py
11 read(self, *args)
kind=method class=SpooledTemporaryFile objtype=function line:737 at …\tempfile.py
12 readline(self, *args)
kind=method class=SpooledTemporaryFile objtype=function line:740 at …\tempfile.py
13 readlines(self, *args)
kind=method class=SpooledTemporaryFile objtype=function line:743 at …\tempfile.py
14 rollover(self)
kind=method class=SpooledTemporaryFile objtype=function line:655 at …\tempfile.py
15 seek(self, *args)
kind=method class=SpooledTemporaryFile objtype=function line:746 at …\tempfile.py
16 tell(self)
kind=method class=SpooledTemporaryFile objtype=function line:753 at …\tempfile.py
17 truncate(self, size=None)
kind=method class=SpooledTemporaryFile objtype=function line:756 at …\tempfile.py
18 write(self, s)
kind=method class=SpooledTemporaryFile objtype=function line:764 at …\tempfile.py
19 writelines(self, iterable)
kind=method class=SpooledTemporaryFile objtype=function line:770 at …\tempfile.py
TemporaryDirectory, tempfile.TemporaryDirectory, module=tempfile, line:0 at
创建并返回一个临时目录。它具有与mkdtemp相同的行为,但可以用作上下文管理器。
例如:
with TemporaryDirectory() as tmpdir:
...
在退出上下文时,目录及其中包含的所有内容将被删除。
1 cleanup(self)
kind=method class=TemporaryDirectory objtype=function line:809 at …\tempfile.py
35 _allocate_lock
36 _stat
37 _functools
38 _warnings
39 _io
40 _os
41 _shutil
42 _errno
43 _Random
44 _weakref
45 _thread
46 _allocate_lock
47 _text_openflags 1282
48 _bin_openflags 34050
49 _once_lock
50 _stat
51 _exists
52 _infer_return_type
53 _sanitize_params
54 _RandomNameSequence
55 _candidate_tempdir_list
56 _get_default_tempdir
57 _name_sequence None
58 _get_candidate_names
59 _mkstemp_inner
60 _TemporaryFileCloser
61 _TemporaryFileWrapper
62 loader <_frozen_importlib_external.SourceFileLoader object at 0x0000000003164E88>
63 spec ModuleSpec(name=‘tempfile’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000000003164E88>, origin=‘…\lib\tempfile.py’)
64 _once_lock
65 _name_sequence None
66 tempdir None
functools, fullname=functools, file=functools.py
warnings, fullname=warnings, file=warnings.py
io, fullname=io, file=io.py
os, fullname=os, file=os.py
shutil, fullname=shutil, file=shutil.py
errno, fullname=errno, file=
weakref, fullname=weakref, file=weakref.py
对Python的弱引用支持。这个模块是[PEP 205](http://www.python.org/dev/peps/pep-0205/)的实现。