临时文件上下文

(类来自 pyomo.common.tempfiles)

class pyomo.common.tempfiles.TempfileContext(manager)[source]

基础类:object

用于管理临时文件集合的上下文

此类的实例持有一个“临时文件上下文”。也就是说,它记录了一组临时文件系统对象,这些对象作为一个组进行管理。上下文最常见的用途是确保在上下文释放时删除所有文件。

这个类复制了tempfile模块接口的大部分功能。

此类的实例可以用作上下文管理器(当上下文管理器退出时,临时文件/目录会自动删除)。

实例还会尝试在上下文超出范围时从文件系统中删除任何临时对象(尽管在解释器关闭时存在的实例不保证此行为)。

__init__(manager)[source]

方法

__init__(manager)

add_tempfile(filename[, exists])

声明指定的文件/目录为临时文件/目录。

create_tempdir([suffix, prefix, dir])

创建一个唯一的临时目录。

create_tempfile([后缀, 前缀, 文本, 目录])

创建一个唯一的临时文件。

gettempdir()

返回用于临时文件的目录的默认名称。

gettempdirb()

gettempdir()相同,但返回值为bytes

gettempprefix()

返回用于创建临时文件的文件名前缀。

gettempprefixb()

gettempprefix()相同,但返回值为bytes

mkdtemp([suffix, prefix, dir])

使用tempfile.mkdtemp()创建一个唯一的临时目录

mkstemp([suffix, prefix, dir, text])

使用tempfile.mkstemp()创建一个唯一的临时文件

release([remove])

释放此上下文

成员文档

add_tempfile(filename, exists=True)[source]

声明指定的文件/目录为临时文件/目录。

这将指定的路径作为“临时”对象添加到此上下文的托管临时路径列表中(即,当上下文被释放时,它可能会被删除(参见release())。

Parameters:
  • filename (str) – 要被视为临时文件的文件/目录名称

  • exists (bool) – 如果为 True,文件/目录必须已经存在。

create_tempdir(suffix=None, prefix=None, dir=None)[source]

创建一个唯一的临时目录。

文件名是按照tempfile.mkdtemp()生成的。

Returns:

dname – 新目录的绝对路径。

Return type:

strbytes

create_tempfile(suffix=None, prefix=None, text=False, dir=None)[源代码]

创建一个唯一的临时文件。

文件名是按照tempfile.mkstemp()生成的。

任何对新文件的文件句柄(例如,来自mkstemp())都已关闭。

Returns:

fname – 新文件的绝对路径。

Return type:

strbytes

gettempdir()[source]

返回用于临时文件的目录的默认名称。

此方法返回从以下位置返回的第一个非空位置:

  • 此上下文的tempdir(即self.tempdir

  • 此上下文的经理的 tempdir(即, self.manager().tempdir

  • tempfile.gettempdir()

Returns:

dir – 用于创建临时对象的默认目录

Return type:

str

gettempdirb()[source]

gettempdir()相同,但返回值为bytes

gettempprefix()[source]

返回用于创建临时文件的文件名前缀。

参见 tempfile.gettempprefix()

gettempprefixb()[source]

gettempprefix()相同,但返回值为bytes

mkdtemp(suffix=None, prefix=None, dir=None)[source]

使用tempfile.mkdtemp()创建一个唯一的临时目录

参数的处理方式与tempfile.mkdtemp()相同,不同之处在于新文件是在由gettempdir()返回的目录中创建的。

Returns:

dname – 新临时目录的绝对路径

Return type:

strbytes

mkstemp(suffix=None, prefix=None, dir=None, text=False)[source]

使用tempfile.mkstemp()创建一个唯一的临时文件

参数的处理方式与tempfile.mkstemp()相同,不同之处在于新文件是在gettempdir()返回的目录中创建的

Returns:

  • fd (int) – 已打开的文件描述符

  • fname (str or bytes) – 新临时文件的绝对路径

release(remove=True)[source]

释放此上下文

这将释放当前上下文,可能会删除所有管理的临时对象(文件和目录),并重置上下文以生成唯一名称。

Parameters:

remove (bool) – 如果 True,删除所有管理的文件 / 目录