临时文件管理类

(类来自 pyomo.common.tempfiles)

class pyomo.common.tempfiles.TempfileManagerClass[source]

基础类:object

用于管理临时文件上下文的类

Pyomo 声明了这个类的一个全局实例为 TempfileManager

>>> from pyomo.common.tempfiles import TempfileManager

该类提供了一个接口用于管理 TempfileContext 上下文。它实现了一个基本的堆栈, 用户可以 push() 一个新的上下文(使其成为 当前的“活动”上下文)并 pop() 上下文 (可选择删除与该上下文关联的所有文件)。在 一般使用中,用户将使用此类创建新的 临时文件上下文并显式使用它们(即通过上下文 管理器):

>>> import os
>>> with TempfileManager.new_context() as tempfile:
...     fd, fname = tempfile.mkstemp()
...     dname = tempfile.mkdtemp()
...     os.path.isfile(fname)
...     os.path.isdir(dname)
True
True
>>> os.path.exists(fname)
False
>>> os.path.exists(dname)
False

或者通过管理器类访问的隐式活动上下文:

>>> TempfileManager.push()
<pyomo.common.tempfiles.TempfileContext object ...>
>>> fname = TempfileManager.create_tempfile()
>>> dname = TempfileManager.create_tempdir()
>>> os.path.isfile(fname)
True
>>> os.path.isdir(dname)
True

>>> TempfileManager.pop()
<pyomo.common.tempfiles.TempfileContext object ...>
>>> os.path.exists(fname)
False
>>> os.path.exists(dname)
False
__init__()[source]

方法

__init__()

add_tempfile(文件名[, 存在])

在活动上下文中调用 TempfileContext.add_tempfile()

clear_tempfiles([remove])

删除所有临时文件并移除所有上下文。

context()

返回当前活动的TempfileContext。

create_tempdir([suffix, prefix, dir])

在活动上下文中调用 TempfileContext.create_tempdir()

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

在活动上下文中调用 TempfileContext.create_tempfile()

new_context()

创建并返回一个新的临时文件上下文

pop([remove])

移除并释放活动上下文

push()

创建一个新的临时文件上下文并将其设置为活动上下文。

sequential_files([ctr])

已弃用。

shutdown([remove])

unique_files()

成员文档

add_tempfile(filename, exists=True)[source]

在活动上下文中调用 TempfileContext.add_tempfile()

clear_tempfiles(remove=True)[source]

删除所有临时文件并移除所有上下文。

context()[source]

返回当前活动的TempfileContext。

Raises:

如果没有当前上下文,则抛出TempfileContextError。

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

在活动上下文中调用 TempfileContext.create_tempdir()

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

在活动上下文中调用 TempfileContext.create_tempfile()

new_context()[source]

创建并返回一个新的临时文件上下文

Returns:

新创建的临时文件上下文

Return type:

TempfileContext

pop(remove=True)[source]

移除并释放活动上下文

Parameters:

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

push()[source]

创建一个新的临时文件上下文并将其设置为活动上下文。

Returns:

新创建的临时文件上下文

Return type:

TempfileContext

sequential_files(ctr=0)[source]

已弃用。

自版本6.2起已弃用:TempfileManager.sequential_files() 方法已被移除。所有临时文件现在都保证具有唯一的名称。希望创建顺序编号文件的用户应使用 mkdtemp / create_tempdir 创建一个临时(空)目录,并将顺序文件放置在其中。