临时路径QTemporaryDir
QTemporaryDir类创建一个唯一的目录供临时使用。
与创建临时文件类似,也可以创建临时路径,应保证所创建的临时路径不会覆盖本机上的路径,程序退出时自动除临时路径。
临时文件 QTemporaryDir说明
创建临时路径的方法如下所示。
- 其中第一种方法QTemporaryDir()不含模板,这时用应用程序的名称(用app.setApplicationName(str)方法设置)和随机名称作为路径名称,随机路径保存到系统默认的路径(可用DirtempPath()方法查询)下;
- 第二种方法QTemporaryDir(templateName:str)用模板创建临时路径如果模板中有路径,则是指相对于当前的工作路径,如果模板中含有"XXXXXX"则必须放到路径名称的尾部,"XXXXXX"是临时路径的动态部分。
from PySide6.QtCore import QTemporaryDir
QTemporaryDir(self)-> None
QTemporaryDir(templateName: str)-> None
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()返回的临时路径中。如果指定自己的路径,则默认情况下,相对路径不会放置在临时目录中,而是相对于当前工作目录。在任何情况下,都会在路径后附加一个随机字符串,以使其唯一。
临时文件 QTemporaryDir方法
临时文件 QTemporaryDir 的常用方法如表所示。
- 用isValid()方法查询临时路径是否创建成功;
- 如果没有成功,可以用errorString()方法获取出错信息;
- 用path()方法获取创建的临时路径。
QTemporaryDir的方法及参数类型 | 返回值的类型 | 说明 |
---|---|---|
path() | Str | 返回临时目录的路径。如果无法创建QTemporaryDir,则为空。 |
isValid() | bool | 如果QTemporaryDir已成功创建,则返回true。 |
errorString() | str | 如果isValid()返回false,此函数将返回错误字符串,解释创建临时目录失败的原因。否则,此函数将返回一个空字符串。 |
filePath(fileName: str) | str | 返回临时目录中文件的路径名。不检查该文件是否确实存在于目录中。不会删除fileName中多余的多个分隔符或".“和”…"目录(请参阅cleanPath())。不允许使用绝对路径。 |
setAutoRemove(b:bool) | None | 如果b为true,则将QTemporaryDir设置为自动移除模式。 默认情况下,"自动删除"处于启用状态。 |
autoRemove() | bool | 获取是否自动移除路径 如果QTemporaryDir处于自动删除模式,则返回true。自动删除模式将在销毁时自动从磁盘中删除目录。这使得在堆栈上创建QTemporaryDir对象变得非常容易,用文件填充它,用文件做一些事情,最后在函数返回时,它会自动清理。 默认情况下,"自动删除"处于启用状态。 |
remove() | bool | 删除临时目录,包括其所有内容。 如果删除成功,则返回true。 |
swap(other:PySide6.QtCore.QTemporaryDir) | 用此临时目录交换其他临时目录。这个操作非常快速,而且永远不会失败。 |