当前位置: 首页>>代码示例>>Python>>正文


Python System.command方法代码示例

本文整理汇总了Python中System.command方法的典型用法代码示例。如果您正苦于以下问题:Python System.command方法的具体用法?Python System.command怎么用?Python System.command使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System的用法示例。


在下文中一共展示了System.command方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: analyse

# 需要导入模块: import System [as 别名]
# 或者: from System import command [as 别名]
def analyse(phrase,username):
    global action
    global code
    global infos
    global reponse
    type=""
    resIn,resOut="",""
    act,typeAct,rep="","",""
    if re.search("[A-Z].*",phrase):
        m=re.search("[A-Z].*",phrase)
        resIn=m.group(0)
    if action=="":#gestion passage initial
        if re.search("(calcul|combien|pythagore|thales|perimetre|surface|volume|triangle)?[-+]?\d+",phrase,re.IGNORECASE) or re.search("([-+]?\d+)+",phrase):
        #if re.search("toto",phrase):
            if re.search("[triangle,rectangle]",phrase,re.IGNORECASE):
                phrase+=" pythagore"
            type="T"
            rep=Math.run(phrase)
        else:
            possible=0
            for file in listeFichiers:
                fichier=open("database/"+file,"r")
                for ligne in fichier:
                    temp=ligne.split(";")
                    mots=temp[0]
                    i=0
                    while i < len(mots):
                        if re.search(mots,phrase,re.IGNORECASE):
                            t=mots.split(".*")
                            if len(t)>possible:
                                possible=len(t)
                                typeAct=temp[1]
                                act=temp[2]
                                reponse=temp[3]
                        i+=2
            type="T"
            listRep=reponse.split("/")
            rep=choice(listRep)

            #remplacement du %IN% dans l'action
            listeAct=act.split(" ")
            for i in range(len(listeAct)):
                if listeAct[i].strip()=="%IN%":
                    #listeAct[i]="'"+resIn.strip()+"'"
                    listeAct[i]="'"+phrase.strip()+"'"
            act=" ".join(listeAct)
            if typeAct=="bash":#récupération des infos en plus
                if re.search("%OUT%",reponse):
                    resOut=subprocess.check_output(act,shell=True)
                else:
                    resOut=System.command(act)
            elif typeAct=="python":
                resOut,infos=eval(act)
                action=infos[0]
                code=infos[1]

            listeMot=rep.split(" ")
            #remplacement des %IN% et %OUT% dans la réponse
            if typeAct!="python" or (typeAct=="python" and code==0):#si reponse directe
                for i in range(len(listeMot)):
                    if listeMot[i].strip()=="%OUT%":
                        try:
                            resOut=resOut.decode()
                        except:
                            resOut=resOut
                        listeMot[i]=resOut.strip()
                for i in range(len(listeMot)):
                    if listeMot[i].strip()=="%IN%":
                        listeMot[i]=resIn.strip()
                rep=" ".join(listeMot)
            else:# si besoin de precision, on affiche le resultat de la fonction
                try:
                    rep=resOut.decode()
                except:
                    rep=resOut
            if action=="fichier" and code==0:
                type="F"
            else:
                type="T"
        if code==0:
            action,infos="",""
    elif action!="":
        type="T"
        if re.search("annule",phrase,re.IGNORECASE):
            infos=[]
            code=0
            action=""
        else:
            fct=infos[len(infos)-1]
            resOut,infos=eval(fct+"("+str(code)+",'"+str(phrase)+"',"+str(infos)+")")
            code=infos[1]
            if code==0:
                action=""
                infos=[]
                listRep=reponse.split("/")
                rep=choice(listRep)
                listeMot=rep.split(" ")
                for i in range(len(listeMot)):
                    if listeMot[i].strip()=="%OUT%":
                        try:
#.........这里部分代码省略.........
开发者ID:,项目名称:,代码行数:103,代码来源:


注:本文中的System.command方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。