• python调用linux shell脚本,并返回结果一例


    #!/usr/bin/python
    #-*- coding:cp936 -*-
    import re;
    import os;
    import sys;
    if(__name__=="__main__"):
        p=re.compile('(^\s+|\s+$)');
        pdigit=re.compile('^\d+');
        delimiter='\t';
        strdict='dict.dat';
        strcontigency='contigency.dat';
        str_input=str(sys.argv[1]);
        str_weight=str(sys.argv[2]);
        str_output=str(sys.argv[3]);
        fid_input=file(str_input,'r');
        fid_output=file(str_output,'w');
        keywords=[];
        keywordstmp=fid_input.readlines();
        for m in keywordstmp:
            mykey=p.sub('',m);
            keywords.append(mykey);
        for  keyword in keywords:
            results=[]; 
           #results.append(keyword);
            command='';
            command='grep -n ^%s$  %s'%(keyword,strdict);
            tmpcol=os.popen(command).readlines();
            temp=p.sub('',tmpcol[0]);
            temps=temp.split(':');
            linenum=int(temps[0])+1;  
            command="sed -n '%dp' %s"%(linenum,strdict);
            tmpcol=os.popen(command).readlines();
            temp=p.sub('',tmpcol[0]) ;#indicate howmany docs key indexed;
            totalindexed=temp;
            #results.append(temp);
            command='grep -n ^%s$  %s'%(keyword,str_weight);
            tmpcol=os.popen(command).readlines();
            temp=p.sub('',tmpcol[0]);
            temps=temp.split(':');
            linenum=int(temps[0])+2;  
            command="sed -n '%dp' %s"%(linenum,str_weight);
            tmpcol=os.popen(command).readlines();
            temp=p.sub('',tmpcol[0]) ;
            temps=temp.split(' ');
            myclass=temps[0]
            #results.append(myclass);
            command="grep -n '^%s %s' %s"%(keyword,myclass,strcontigency);
            tmpcol=os.popen(command).readlines();
            temp=p.sub('',tmpcol[0]);
            temps=temp.split(':');
            temp1=p.sub('', temps[1]);
            results=temp1.split(' ');
            results.append(totalindexed);
            #numin=m[1];
            #numnotin=m[2];
            #print numin;
            #print numnotin;
            #print results
            #s=raw_input('please enter');
            #results.append(numin);
            #results.append(numnotin);
            myline=delimiter.join(results);
            fid_output.write(myline);
            fid_output.write('\n');
            print myline;
        fid_input.close();
        fid_output.close();
        print '%s has finished, congratulations!'%str(sys.argv[0]);
  • 相关阅读:
    小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-9.使用JWT生成用户Token回写客户端
    小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息
    小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-7.授权登录获取微信用户个人信息实战
    小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock
    Vmware Briged方式使虚拟机上网
    设置VIM的配色方案
    SecureCRT辅助解决方案
    ARM标准汇编与GNU汇编
    arm:c语言和汇编混合编程
    assert()用法
  • 原文地址:https://www.cnblogs.com/finallyliuyu/p/2379259.html
Copyright © 2020-2023  润新知