- class QStorageInfo#
提供有关当前已安装存储和驱动器的信息。 更多…
摘要#
方法#
def
__init__()
def
blockSize()
def
bytesAvailable()
def
bytesFree()
def
bytesTotal()
def
device()
def
displayName()
def
fileSystemType()
def
isReadOnly()
def
isReady()
定义
isRoot()
定义
isValid()
定义
name()
定义
__ne__()
定义
__eq__()
定义
refresh()
定义
rootPath()
定义
setPath()
定义
subvolume()
定义
swap()
静态函数#
定义
root()
注
本文档可能包含自动从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")
创建一个新的
QStorageInfo
对象,该对象提供了包含dir
文件夹的卷的信息。- __init__(other)
- 参数:
other –
QStorageInfo
创建一个新的
QStorageInfo
对象,它是other
QStorageInfo
对象的副本。- __init__(path)
- 参数:
path – str
警告
本节包含自动从C++翻译到Python的代码片段,可能存在错误。
创建一个新的
QStorageInfo
对象,该对象提供了挂载于path
的卷的信息。如果你传递一个目录或文件,
QStorageInfo
对象将指向包含此目录或文件的卷。你可以使用isValid()
方法来检查创建的对象是否正确。以下示例演示了如何获取应用程序所在的卷。建议始终检查卷是否已准备好且有效。
storage = QStorageInfo(qApp.applicationDirPath()) if storage.isValid() and storage.isReady(): # ...
另请参阅
- __init__()
创建一个空的
QStorageInfo
对象。使用默认构造函数创建的对象将是无效的,因此不适合使用。
- blockSize()#
- 返回类型:
int
返回该文件系统的最佳传输块大小。
如果
QStorageInfo
无法确定大小或此类对象无效,则返回-1。- bytesAvailable()#
- 返回类型:
int
返回当前用户可用的大小(以字节为单位)。如果用户是root用户或系统管理员,则返回总大小。
此大小可能小于或等于由
bytesFree()
函数返回的空闲大小。如果
QStorageInfo
对象无效,则返回-1。另请参阅
- bytesFree()#
- 返回类型:
int
返回卷中的空闲字节数。注意,如果文件系统存在配额,此值可以大于
bytesAvailable()
函数返回的值。如果
QStorageInfo
对象无效,则返回-1。- bytesTotal()#
- 返回类型:
int
返回总的卷大小(以字节为单位)。
如果
QStorageInfo
对象无效,则返回-1。- device()#
- 返回类型:
返回此卷的设备。
例如,在Unix文件系统(包括macOS)中,此函数返回本地存储的devpath,如
/dev/sda0
。在Windows上,它返回以\\\\?\\
开始的UNC路径,用于本地存储(换句话说,卷GUID)。另请参阅
- displayName()#
- 返回类型:
str
如果可用,则返回卷的名称,否则返回根路径。
- fileSystemType()#
- 返回类型:
返回文件系统的类型名称。
这是一个与平台相关的函数,文件系统名称在不同操作系统之间可能不同。例如,在Windows上文件系统可能命名为
NTFS
,而在Linux上可能命名为ntfs-3g
或fuseblk
。另请参阅
- isReadOnly()#
- 返回类型:
bool
如果当前文件系统被保护免于写入,则返回 true;否则返回 false。
- isReady()#
- 返回类型:
bool
如果当前文件系统能够准备使用,则返回 true;否则返回 false。例如,如果未插入光盘卷,则返回 false。
请注意,直到卷准备就绪,
fileSystemType()
、name()
、bytesTotal()
、bytesFree()
和bytesAvailable()
将返回无效数据。另请参阅
- isRoot()#
- 返回类型:
bool
如果这个
QStorageInfo
代表系统根卷,则返回 true;否则返回 false。在Unix文件系统中,根卷是在
/
上挂载的卷。在Windows上,根卷是安装操作系统的卷。另请参阅
- isValid()#
- 返回类型:
bool
如果由
rootPath
指定的QStorageInfo
存在且正确挂载,则返回 true。另请参阅
- 静态 mountedVolumes()#
- 返回类型:
包含
QStorageInfo
警告
本节包含自动从C++翻译到Python的代码片段,可能存在错误。
返回与当前已挂载文件系统列表对应的
QStorageInfo
对象列表。在Windows上,它返回 我的电脑 文件夹中可见的驱动器。在Unix操作系统上,它返回所有挂载的文件系统列表(不包括伪文件系统)。
默认情况下返回所有已挂载的文件系统。
本示例演示如何检索所有可用的文件系统,跳过只读的文件系统。
for storage in QStorageInfo.mountedVolumes(): if storage.isValid() and storage.isReady(): if not storage.isReadOnly(): # ...
另请参阅
- name()#
- 返回类型:
str
返回文件系统的可读名称,通常称为
label
。并非所有文件系统都支持此功能。在这种情况下,此方法返回的值可能为空。如果文件系统不支持标签,或者没有设置标签,则返回空字符串。
在Linux上,检索卷标签需要系统中存在
udev
。另请参阅
- __ne__(second)#
- 参数:
second –
QStorageInfo
- 返回类型:
bool
如果
first
QStorageInfo
对象指向与second
不同的驱动器或卷,则返回 true;否则返回 false。- __eq__(second)#
- 参数:
second –
QStorageInfo
- 返回类型:
bool
如果
first
QStorageInfo
对象指向与second
相同的驱动器或卷,则返回 true;否则返回 false。请注意,比较两个无效的
QStorageInfo
对象的结果始终为正数。- refresh()#
重置
QStorageInfo
的内部缓存。QStorageInfo
缓存有关存储信息以加快性能。QStorageInfo
在对象构造期间或在调用setPath()
方法时检索信息。您必须手动通过调用此函数来重置缓存以更新存储信息。- static root()#
- 返回类型:
返回一个代表系统根卷的
QStorageInfo
对象。在 Unix 系统上,此调用返回根('/')卷;在 Windows 上,返回安装操作系统的卷。
另请参阅
- rootPath()#
- 返回类型:
str
返回由
QStorageInfo
对象表示的文件系统的挂载点。在Windows上,如果卷未挂载到目录中,它返回卷标识符。
请注意,rootPath() 返回的值是卷的真实挂载点,可能不等于传递给构造函数或
setPath()
方法的值。例如,如果您系统中只有一个根卷,并将 '/directory' 传递给setPath()
方法,那么这个方法将返回 '/'。- setPath(path)#
- 参数:
path – str
将此
QStorageInfo
对象设置到挂载位位于path
的文件系统。path
可以是文件系统的根路径,一个目录,或者在该文件系统中的一个文件。另请参阅
- subvolume()#
- 返回类型:
返回此卷的子卷名称。
某些文件系统类型允许设备内存在多个子卷,这些子卷可能挂载在不同的路径上(例如 Unix 上的 'bind' 挂载,或 Btrfs 文件系统的子卷)。如果检测到子卷,此函数将返回其名称。子卷名称的格式因文件系统类型而异。
如果此卷不是从更大文件系统的子卷挂载,或者无法检测到子卷,则此函数返回一个空的字节数组。
另请参阅
- swap(other)#
- 参数:
other –
QStorageInfo
与
other
交换此卷信息。此函数非常快,绝不会失败。