各位大神,很久没有跑脚本了,上个月跑了两天服务器,一直没时间整理笔记,今天特意更新一篇。(再次感谢旺友童鞋的支持~^_^)
一、某智能机器语义服务器(预发布) 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桌面上新建文件,里面有6个txt文档要跑同一个脚本时,可用一个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)排序,保存,得出对应问句的结果