语义服务器跑脚本(一)

时间:2021-02-15 16:43:59

 

各位大神,很久没有跑脚本了,上个月跑了两天服务器,一直没时间整理笔记,今天特意更新一篇。(再次感谢旺友童鞋的支持~^_^)

 

 

一、某智能机器语义服务器(预发布)  172.26.1.***  test/***t(需要服务器同事提供IP和账户

脚本提前准备好(编译器用的是:PyCharm 2017.1,需要提前安装python2.7+系统变量),代码如下:

# coding: utf-8

 

from __future__ import print_function

 

import subprocess

import sys

import os

import json

import time

import urllib2

import cookielib

import sys

reload(sys)

 

 

#ip='183.61.189.***'

#port=***

 

#注意和运维确认环境、服务器上的IP和端口

ip_map={

"xiaoxiaobai":'58.67.213.***',

"xiaobai_yufabu":"106.75.154.**",

"xiaobai":"106.75.154.**",

"xiaobai_nei":"172.26.1.***"

}

port_map={

"xiaoxiaobai":3333*,

"xiaobai_yufabu":4333*,

"xiaobai":4333*,

}

 

# 需要修改的配置,uid是指终端设备上注册的账号

url='http://%s:%d/WhiteII/'%(ip_map["xiaobai_yufabu"],port_map['xiaobai_yufabu'])

uid="18617166986"

# b端配置

# "CloudTeams",""

bname=""

input_name = sys.argv[1]

mid = "1234325423"

 

 

def curl_post(uid, text, url):

    httpHandler = urllib2.HTTPHandler(debuglevel=0)

    httpsHandler = urllib2.HTTPSHandler(debuglevel=0)

    cj = cookielib.CookieJar()

    cookie_support = urllib2.HTTPCookieProcessor(cj)

    opener = urllib2.build_opener(cookie_support, httpHandler, httpsHandler)

    urllib2.install_opener(opener)

    headers = {

        'Accept': 'image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*',

        'Accept-Language': 'zh-CN',

        'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6',

        'Referer': '',

    }

    # text=text.encode("utf-8"),

    postdata = '{"uid":"%s","mid":"%s", "text":"%s"}' % (uid, mid, text)

 

    req = urllib2.Request(

        url,

        data=postdata,

        # headers=headers

    )

    resp = opener.open(req)

    page = resp.read()

    return page

 

 

count = 0

output_name ="%s_output.txt" %(input_name[:-4])

print("new right to " + output_name)

w = open(output_name, 'w')

f = open(input_name, 'r')

for line in f:

    count=count+1

    line=line.strip()

    print ("line:%s" % line)

    url = 'http://{}:{}/WhiteII/'.format(ip_map["xiaobai_nei"], port_map['xiaobai_yufabu'])

    print ("url:%s" % url)

    tStart = time.time()  # 計時開始

    result = curl_post(uid, line, url)

    print ("result:%s" % result)

    print ("")

    result=json.loads(result)["text"]

    used_time = time.time()-tStart  # 計時開始

    date='date +%Y-%m-%d\" \"%H:%M:%S '

    w.write(str(used_time)+"\t"+line+"\t"+result.encode('utf8')+"\n")

    w.flush()

    time.sleep(2)

f.close()

w.close()

 

 

 

二、连接linux服务器工具用到Xshell,这里讲一下,Xshell里面的协议,ssh主要用于远程操作,sftp用于传输(直接下载一个sftp,因为网速原因不能下载,所以只能用命令来传输)

    

三、Sftp里面输入help,可查询相关的命令,一般用的比较多的命令如下:

  ls 查询所有文件列表

  lcd 更改和打印本地工作目录

  put+文件名 将文件从本地机器上传到服务器

  get+文件名 下载文件

  rm +文件名  删除文件

  Chmod 777 +文件 授予权限

  

 

四、A.Xshell工具,ssh主要用于操控,其他命令可参看文档:http://www.mamicode.com/info-detail-1417378.html

B.用的比较多的命令以下;

  cp+文件名+新文件名 复制文件并另存为其他文件

  ls查看当前所有文件

  vim+想要编辑的文件 查看文件内容

      i 进入编辑

      a 插入文字

      r 替换

      esc +dd 删除一行

      esc +数字+d 删除数字行数

      wq 保存退出

      wq! 强制保存退出

       q退出 

      w 保存退出 

      q!表示强制退出

 

      

五、操作步骤:

   1.Sftp上传文件(put+文件),查看文件LS,有没有上传

   2.ssh 查看文件,

    运行单个脚本:python+脚本文件+文件(语义文件 )

    运行多个脚本:./wen.sh

   3.Sftp下载文件,提前指定下载路径(lcd),下载文件:get+文件名

 

六、注意点

  1.原文件提前排列(升序),跑完脚本后的文件也要排序(升序)

  2.文件对比工具,百度上有很多类型,目前用的是Beyond_Compare

  3. Windows桌面上新建文件,里面有6txt文档要跑同一个脚本时,可用一个sh文件代替人工操作。具体操作如下:

   1)在cmd中进入对应路径:cd C:\Users\gowild-65\Desktop\jiaoben\原始格式\+回车,输入:tree /f 回车后,复制对应的文件:

    01dianliang.txt

    02xianliao.txt

    03yinyue.txt

    04xinwen.txt

    05renzhi.txt

06baike.txt

 语义服务器跑脚本(一)

 

  

 2) 新建一个wen.sh的文件,UTF-8格式,内容如下:

#!/bin/sh

python batch_xiaobai.py 01dianliang.txt

python batch_xiaobai.py 02xianliao.txt

python batch_xiaobai.py 03yinyue.txt

python batch_xiaobai.py 04xinwen.txt

python batch_xiaobai.py 05renzhi.txt

python batch_xiaobai.py 06baike.txt

  3)新建的文件要提前上传到服务器上再运行

 

4.运行完成后,ls,查看txt文本显示xxx output.txt

5.下载,sz+xxxxoutput.txt,选择位置

6.用note++打开output全选复制到EXCEL文档,保留问句,结果,其余删除保存再次升序(列A)排序,保存,得出对应问句的结果