PySide6.QtCore.QProcessEnvironment¶
- class QProcessEnvironment¶
QProcessEnvironment类保存可以传递给程序的环境变量。更多…在版本4.6中添加。
概要¶
方法¶
def
__init__()def
clear()def
contains()def
insert()def
isEmpty()def
keys()def
__ne__()def
__eq__()def
remove()def
swap()def
toStringList()def
value()
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
一个进程的环境由一组键值对组成,这些键值对被称为环境变量。
QProcessEnvironment类封装了这一概念,并允许轻松操作这些变量。它旨在与QProcess一起使用,以设置子进程的环境。它不能用于更改当前进程的环境。调用进程的环境可以使用
systemEnvironment()获取。在Unix系统上,变量名是区分大小写的。请注意,Unix环境允许变量名和内容包含任意二进制数据(除了NUL字符)。
QProcessEnvironment将保留这些变量,但不支持操作那些名称或值无法通过当前区域设置编码的变量(参见toLocal8Bit)。在Windows上,变量名称是大小写不敏感的,但会保留大小写。
QProcessEnvironment的行为与此一致。- class Initialization¶
此枚举包含用于消除构造函数歧义的令牌。
常量
描述
QProcessEnvironment.InheritFromParent
一个
QProcessEnvironment将被创建,当它被设置在一个QProcess上时,会导致它从其父进程继承变量。在版本6.3中添加。
- __init__()¶
创建一个新的
QProcessEnvironment对象。此构造函数创建一个空的环境。如果在QProcess上设置,这将导致当前环境变量被移除(在Windows上除了PATH和SystemRoot)。- __init__(arg__1)
- Parameters:
arg__1 –
初始化
创建一个对象,当设置在
QProcess上时,将导致它从父进程继承环境变量来执行。注意
创建的对象本身不存储任何环境变量,它只是指示
QProcess在新进程启动时安排继承环境。向创建的对象添加任何环境变量将禁用环境的继承,并导致环境仅包含添加的环境变量。如果需要父环境的修改版本,可以从
systemEnvironment()的返回值开始并对其进行修改(但请注意,创建后对父进程环境的更改不会反映在修改后的环境中)。- __init__(other)
- Parameters:
其他 –
QProcessEnvironment
创建一个
QProcessEnvironment对象,它是other的副本。- clear()¶
从此
QProcessEnvironment对象中移除所有键值对,使其变为空。如果环境是使用
QProcessEnvironment::InheritFromParent构建的,它将保持不变。- contains(name)¶
- Parameters:
name – str
- Return type:
布尔
如果在此
QProcessEnvironment对象中找到名为name的环境变量,则返回true。- inheritsFromParent()¶
- Return type:
布尔
如果此
QProcessEnvironment是使用QProcessEnvironment::InheritFromParent构造的,则返回true。另请参阅
- insert(e)¶
- Parameters:
这是一个重载函数。
将
e的内容插入到此QProcessEnvironment对象中。此对象中与e中存在的变量将被覆盖。- insert(name, value)
- Parameters:
name – str
value – str
将名为
name的环境变量及其内容value插入到此QProcessEnvironment对象中。如果该变量已经存在,它将被新值替换。在大多数系统中,插入一个没有内容的变量对应用程序的影响与根本没有设置该变量相同。然而,为了确保没有不兼容性,要删除一个变量,请使用
remove()函数。另请参阅
- isEmpty()¶
- Return type:
布尔
如果这个
QProcessEnvironment对象为空,则返回true:即没有设置任何键值对。此方法对于使用
QProcessEnvironment::InheritFromParent构造的对象也返回true。- keys()¶
- Return type:
字符串列表
返回一个包含此
QProcessEnvironment对象中所有变量名称的列表。对于使用
QProcessEnvironment::InheritFromParent构造的对象,返回的列表为空。- __ne__(rhs)¶
- Parameters:
rhs –
QProcessEnvironment- Return type:
布尔
如果进程环境对象
lhs和rhs不同,则返回true。另请参阅
operator==()- __eq__(rhs)¶
- Parameters:
rhs –
QProcessEnvironment- Return type:
布尔
如果进程环境对象
lhs和rhs相等,则返回true。如果两个
QProcessEnvironment对象具有相同的键值对集合,则认为它们是相等的。在环境变量区分大小写的平台上,键的比较是区分大小写的。另请参阅
operator!=()contains()- remove(name)¶
- Parameters:
name – str
从此
QProcessEnvironment对象中移除由name标识的环境变量。如果该变量之前不存在,则不会发生任何变化。另请参阅
- swap(other)¶
- Parameters:
其他 –
QProcessEnvironment
将此进程环境实例与
other交换。此函数非常快速且永远不会失败。- static systemEnvironment()¶
- Return type:
systemEnvironment 函数返回调用进程的环境。
它作为
QProcessEnvironment返回。此函数不缓存系统环境。因此,如果调用了像setenv或putenv这样的低级C库函数,则有可能获得环境的更新版本。然而,请注意,重复调用此函数将重新创建
QProcessEnvironment对象,这是一个非平凡的操作。另请参阅
- toStringList()¶
- Return type:
字符串列表
将此
QProcessEnvironment对象转换为字符串列表,每个设置的环境变量对应一个字符串。环境变量的名称和值之间用等号(‘=’)分隔。此函数返回的
QStringList内容适合用于展示。由于在Unix下可能存在编码问题以及性能较差,不建议与QProcess::setEnvironment函数一起使用。- value(name[, defaultValue=""])¶
- Parameters:
name – str
defaultValue – str
- Return type:
字符串
在此
QProcessEnvironment对象中搜索由name标识的变量并返回其值。如果在此对象中未找到该变量,则返回defaultValue。另请参阅