PySide6.QtCore.QTemporaryDir

class QTemporaryDir

QTemporaryDir 类创建一个唯一的目录供临时使用。更多

概要

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

QTemporaryDir 用于安全地创建唯一的临时目录。目录本身由构造函数创建。临时目录的名称保证是唯一的(即保证不会覆盖现有目录),并且该目录将在 QTemporaryDir 对象销毁时被移除。目录名称要么是自动生成的,要么是基于传递给 QTemporaryDir 构造函数的模板创建的。

示例:

# Within a function/method...
dir = QTemporaryDir()
if dir.isValid():
    # dir.path() returns the unique directory path

# The QTemporaryDir destructor removes the temporary directory
# as it goes out of scope.

测试临时目录是否可以创建是非常重要的,使用 isValid()。不要使用 exists(),因为默认构造的 QDir 表示当前目录,该目录是存在的。

临时目录的路径可以通过调用path()来找到。

临时目录将包含名称的某些静态部分和一些计算为唯一的部分。默认路径将由applicationName()确定(否则为qt_temp),并将放置在由tempPath()返回的临时路径中。如果您指定自己的路径,默认情况下相对路径不会放置在临时目录中,而是相对于当前工作目录。在所有情况下,路径将附加一个随机字符串以确保其唯一性。

__init__()

使用由applicationName()返回的应用程序名称作为模板构造一个QTemporaryDir(否则为qt_temp)。该目录存储在系统的临时目录中,tempPath()

另请参阅

tempPath()

__init__(templateName)
Parameters:

templateName – str

使用templatePath作为模板构造一个QTemporaryDir

如果 templatePath 是相对路径,则该路径将相对于当前工作目录。如果你想使用系统的临时目录,可以使用 tempPath() 来构造 templatePath

如果templatePath以XXXXXX结尾,它将被用作目录名称的动态部分,否则它将被追加。与QTemporaryFile不同,模板字符串中间的XXXXXX不被支持。

另请参阅

tempPath()

autoRemove()
Return type:

布尔

如果QTemporaryDir处于自动删除模式,则返回true。自动删除模式将在销毁时自动从磁盘删除目录。这使得在栈上创建QTemporaryDir对象、填充文件、对文件进行操作,最后在函数返回时自动清理变得非常容易。

自动移除功能默认开启。

另请参阅

setAutoRemove() remove()

errorString()
Return type:

字符串

如果 isValid() 返回 false,此函数将返回解释临时目录创建失败原因的错误字符串。否则,此函数返回一个空字符串。

filePath(fileName)
Parameters:

fileName – str

Return type:

字符串

返回临时目录中文件的路径名。检查文件是否实际存在于目录中。fileName中的冗余多个分隔符或“.”和“..”目录不会被移除(参见cleanPath())。不允许使用绝对路径。

返回的路径将是相对或绝对路径,这取决于QTemporaryDir是否分别使用相对或绝对路径构造。

isValid()
Return type:

布尔

如果QTemporaryDir成功创建,则返回true

path()
Return type:

字符串

返回临时目录的路径。如果无法创建QTemporaryDir,则为空。

返回的路径将是相对路径或绝对路径,这取决于QTemporaryDir是否分别使用相对路径或绝对路径构造。

remove()
Return type:

布尔

删除临时目录,包括其所有内容。

如果移除成功,返回 true

setAutoRemove(b)
Parameters:

b – 布尔值

如果 b 为 true,则将 QTemporaryDir 设置为自动删除模式。

自动移除功能默认开启。

另请参阅

autoRemove() remove()

swap(other)
Parameters:

其他QTemporaryDir

将此临时目录与other临时目录交换。此操作非常快速且永远不会失败。