模块 os:系统功能
os 提供了和当前操作系统有关的一些功能,目前只支持环境变量
该模块在 ambot-script engine v1.3 系中 v1.3.8 或更高版本、v1.4 系中 v1.4.0-rc.16 或更高版本引入
环境变量
函数
os.getenv(name: str) → <str/None>
获取当前系统中所有的环境变量
os.setenv(name: str, value: str)
设定环境变量
os.listenv() -> [str]
获取当前系统中所有的环境变量
示例
# 假定已经设定了 AA=1, BB=2, CC=3, DD= 几个环境变量
assert(os.getenv("AA") == "1")
assert(os.getenv("BB") == "2")
assert(os.getenv("CC") == "3")
assert(os.getenv("DD") == "")
assert(os.getenv("EE") == None)
os.putenv("BB", "22")
assert(os.getenv("BB") == "22")
def to_dict(l):
d = {}
for e in l:
i = e.find("=")
if i != -1:
d[e[:i]] = e[i+1:]
return d
all = to_dict(os.listenv())
assert(all["AA"] == "1")
assert(all["BB"] == "22")
assert(all["CC"] == "3")
assert(all["DD"] == "")
assert(all.get("EE") == None)
result = run("env | grep ^BB=")
assert(result)
assert(str(result.stdout).strip() == "BB=22")
os.path
os.path.join(...) -> str
将传递的参数进行 path join,返回 join 后的结果
assert(os.path.join("a") == "a")
assert(os.path.join("a", "b") == "a/b")
assert(os.path.join("a", "b/", "c") == "a/b/c")
assert(os.path.join("a", "/b", "c") == "/b/c")
文件功能
os.readfile(filename: str) -> bytes
当前 filename 仅支持绝对路径
从系统中读取文件内容,返回文件内容的 bytes 对象
os.writefile(filename: str, data: bytes, perm: int = 0644)
当前 filename 仅支持绝对路径
将 data 写入文件,如果文件不存在,利用 perm 创建新文件(默认权限 0644)