import time
import pyTSL
import re
c = pyTSL.Client("user", "password", "tsl.tinysoft.com.cn", 443)# user为天软账号,password 为账号密码
c.login()
# 调用ou命令查看当前登陆情况
ou=c.admin("ou")
print(ou)
# admin命令的发送不能过于频繁(至少间隔3秒),否则会提示稍后执行
time.sleep(3)
# 调用oa命令查看当前并发情况(程序执行)情况
print(c.admin("oa"))
time.sleep(3)
# 调用info命令查看当前账号使用情况
print(c.admin("info"))
#解析得到当前已登陆数、当前已使用的并发数及账号的最大并发数
# 1.对于当前登录情况进行解析,等到当前登录数
def getUsers(ad_s):
regex=re.compile("\d.*online")
user=regex.findall(ad_s)
regex1=re.compile("\d+")
users=0
for i in user:
users+=int(regex1.findall(i)[0])
return users
# 2.解析账号的用户信息
def getConcurrency(ad_s):
ad_t=ad_s.split("\r\n")
keys=ad_t[0].split(" ")
values=ad_t[1].split(" ")
key=[]
value=[]
for i in keys:
if i != '' :
key.append(i)
for i in values:
if i != '':
value.append(i)
s=0
for i in range(len(value)):
k=i-s
if value[k][-1]== '/':
value[k]+=value[k+1]
value.pop(k+1)
s+=1
info={}
for i in range(len(key)):
info[key[i]]=value[i]
return info
print("已登录用户数:", getUsers(ou))
print("在线执行个数/可在线执行个数:",getConcurrency(ou)["OLTASK"])