标签:http os 使用 java ar 文件 sp amp on
在项目的过程中需要使用svn hooks来做一些权限控制的操作,一开始使用shell来实现,在实现完成之后某些模块返回的json格式有所变化,需要修改shell的实现,shell对于json的解析很麻烦,线上的机器又不能引入别的库,于是考虑使用python来做这项工作,下面列出使用过的python语言点,纯记录作用,没有技术含量。。
在调用python的时候不加&:在python中使用sys模块(sys.exit(0)、sys.exit(1)),随后在shell中通过$?或者返回码。
在调用python的时候加&:就不能通过$?捕获退出码,这样的话就麻烦点。一个方案就是:shell 用True循环 ,用ps aux看python是否存在,如果不存在了,代表python运行结束了,或者让python程序结束前产生一个文件,在shell里判断产生的文件在不在,在的话就是正确输出了,不在的话代表python失败了。
import os
1.os的system方法会创建子进程运行外部程序,方法只返回运行程序完毕后的退出状态。该方法比较适合于外部程序没有输出结果的情况。
2.os的popen方法在需要得到外部程序的输出结果时,很有用。该方法返回一个类文件对象,调用该对象的read()或readlines()方法可以读取输出内容。 打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是’r‘)。如果mode为’r‘,可以使用此函数的返回值调用read()来获取command命令的执行结果。
3.commands模块的getoutput方法,这种方法同popend的区别在于popen返回的是一个类文件对象,而本方法将外部程序的输出结果当作字符串返回,很多情况下用起来要更方便些。
4.subprocess模块,python新引入的模块,将要取代上面这些模块。
import urllib2
url = ‘‘
req=urllib2.Request(url)
res_data=urllib2.urlopen(req)
res = res_data.read()
import sys
sys.argv[0] sys.argv[1]的这种方式来获取传给python的参数
python自带的json模块支持对json直接的解析:
import json
s = json.loads(jsonStr)
s.["name"]
s.["type"]["name"]
import re
标签:http os 使用 java ar 文件 sp amp on
原文地址:http://www.cnblogs.com/babybluevino/p/3948758.html