PySide6.QtCore.QStorageInfo

class QStorageInfo

提供有关当前挂载的存储和驱动器的信息。更多

概要

方法

静态函数

注意

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

详细描述

警告

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

允许检索有关卷的空间、挂载点、标签和文件系统名称的信息。

你可以通过将卷的挂载点路径作为构造函数参数来创建QStorageInfo的实例,或者你可以使用setPath()方法来设置它。静态方法mountedVolumes()可以用来获取所有已挂载文件系统的列表。

QStorageInfo 总是缓存检索到的信息,但你可以调用 refresh() 来使缓存失效。

以下示例检索系统根卷的最常见信息,并打印相关信息。

storage = QStorageInfo.root()
print(storage.rootPath())
if storage.isReadOnly():
    print("isReadOnly:", storage.isReadOnly())
print("name:", storage.name())
print("fileSystemType:", storage.fileSystemType())
print("size:", storage.bytesTotal()/1000/1000, "MB")
print("availableSize:", storage.bytesAvailable()/1000/1000, "MB")
__init__()

构造一个空的QStorageInfo对象。

使用默认构造函数创建的对象将是无效的,因此不能立即使用。

__init__(dir)
Parameters:

dirQDir

构造一个新的QStorageInfo对象,该对象提供包含dir文件夹的卷的信息。

__init__(other)
Parameters:

其他QStorageInfo

构造一个新的QStorageInfo对象,该对象是other QStorageInfo对象的副本。

__init__(path)
Parameters:

路径 – 字符串

警告

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

构造一个新的QStorageInfo对象,该对象提供有关挂载在path路径上的卷的信息。

如果你传递一个目录或文件,QStorageInfo 对象将引用该目录或文件所在的卷。你可以使用 isValid() 方法来检查创建的对象是否正确。

以下示例展示了如何获取应用程序所在的卷。建议始终检查卷是否准备就绪且有效。

storage = QStorageInfo(qApp.applicationDirPath())
if storage.isValid() and storage.isReady():
    # ...

另请参阅

setPath()

blockSize()
Return type:

整数

返回此文件系统的最佳传输块大小。

如果QStorageInfo无法确定大小或QStorageInfo对象无效,则返回-1。

bytesAvailable()
Return type:

整数

返回当前用户可用的空间大小(以字节为单位)。如果用户是根用户或系统管理员,则返回总可用大小。

这个大小可以小于或等于由bytesFree()函数返回的可用大小。

如果QStorageInfo对象无效,则返回-1。

另请参阅

bytesTotal() bytesFree()

bytesFree()
Return type:

整数

返回卷中的空闲字节数。请注意,如果文件系统上有配额,此值可能大于bytesAvailable()返回的值。

如果QStorageInfo对象无效,则返回-1。

bytesTotal()
Return type:

整数

返回以字节为单位的总卷大小。

如果QStorageInfo对象无效,则返回-1。

device()
Return type:

QByteArray

返回此卷的设备。

例如,在Unix文件系统(包括macOS)上,这将返回本地存储的设备路径,如/dev/sda0。在Windows上,它返回以\\\\?\\开头的UNC路径用于本地存储(换句话说,卷GUID)。

另请参阅

rootPath() subvolume()

displayName()
Return type:

字符串

返回卷的名称(如果可用),否则返回根路径。

fileSystemType()
Return type:

QByteArray

返回文件系统的类型名称。

这是一个依赖于平台的函数,文件系统名称可能因不同的操作系统而异。例如,在Windows文件系统上,它们可以命名为NTFS,而在Linux上,它们可以命名为ntfs-3gfuseblk

另请参阅

name()

isReadOnly()
Return type:

布尔

如果当前文件系统被保护以防止写入,则返回 true;否则返回 false。

isReady()
Return type:

布尔

如果当前文件系统已准备好工作,则返回 true;否则返回 false。例如,如果未插入 CD 卷,则返回 false。

请注意,fileSystemType()name()bytesTotal()bytesFree()bytesAvailable()在卷准备好之前将返回无效数据。

另请参阅

isValid()

isRoot()
Return type:

布尔

如果此QStorageInfo表示系统根卷,则返回true;否则返回false。

在Unix文件系统中,根卷是挂载在/上的卷。在Windows上,根卷是安装操作系统的卷。

另请参阅

root()

isValid()
Return type:

布尔

如果由rootPath指定的QStorageInfo存在并且正确挂载,则返回true。

另请参阅

isReady()

static mountedVolumes()
Return type:

QStorageInfo的列表

警告

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

返回与当前挂载的文件系统列表相对应的QStorageInfo对象列表。

在Windows上,这将返回我的电脑文件夹中可见的驱动器。在Unix操作系统上,它返回所有挂载的文件系统列表(不包括伪文件系统)。

默认返回所有当前挂载的文件系统。

该示例展示了如何检索所有可用的文件系统,跳过只读的文件系统。

for storage in QStorageInfo.mountedVolumes():
    if storage.isValid() and storage.isReady():
        if not storage.isReadOnly():
            # ...

另请参阅

root()

name()
Return type:

字符串

返回文件系统的人类可读名称,通常称为label

并非所有文件系统都支持此功能。在这种情况下,此方法返回的值可能为空。如果文件系统不支持标签,或者没有设置标签,则返回空字符串。

在Linux上,检索卷的标签需要系统中存在udev

另请参阅

fileSystemType()

__ne__(rhs)
Parameters:

rhsQStorageInfo

Return type:

布尔

如果 QStorageInfo 对象 lhs 引用的是与 QStorageInfo 对象 rhs 不同的驱动器或卷,则返回 true;否则返回 false

__eq__(rhs)
Parameters:

rhsQStorageInfo

Return type:

布尔

如果 QStorageInfo 对象 lhsQStorageInfo 对象 rhs 引用相同的驱动器或卷,则返回 true;否则返回 false

请注意,比较两个无效的QStorageInfo对象的结果总是正数。

refresh()

重置 QStorageInfo 的内部缓存。

QStorageInfo 缓存了存储信息以加快性能。QStorageInfo 在对象构建期间和/或调用 setPath() 方法时检索信息。您必须通过调用此函数手动重置缓存以更新存储信息。

static root()
Return type:

QStorageInfo

返回一个表示系统根卷的QStorageInfo对象。

在Unix系统上,此调用返回根('/')卷;在Windows上,返回操作系统安装的卷。

另请参阅

isRoot()

rootPath()
Return type:

字符串

返回此QStorageInfo对象表示的文件系统的挂载点。

在Windows上,如果卷未挂载到目录,则返回卷的盘符。

请注意,rootPath() 返回的值是卷的实际挂载点,可能不等于传递给构造函数或 setPath() 方法的值。例如,如果系统中只有根卷,并且将‘/directory’传递给 setPath(),则此方法将返回‘/’。

另请参阅

setPath() device()

setPath(path)
Parameters:

路径 – 字符串

将此QStorageInfo对象设置为挂载在path所在位置的文件系统。

path 可以是文件系统的根路径、目录或该文件系统中的文件。

另请参阅

rootPath()

subvolume()
Return type:

QByteArray

返回此卷的子卷名称。

某些文件系统类型允许在一个设备内存在多个子卷,这些子卷可以挂载在不同的路径上(例如Unix上的'bind'挂载,或Btrfs文件系统的子卷)。如果能够检测到子卷,此函数将返回其名称。子卷名称的格式特定于每种文件系统类型。

如果此卷未从较大文件系统的子卷挂载,或者无法检测到子卷,则此函数返回一个空字节数组。

另请参阅

device()

swap(other)
Parameters:

其他QStorageInfo

将此卷信息与 other 交换。此函数非常快速且永远不会失败。