我想通过管道发送json文件。所以基本上这就是我正在做的事情
module1.py - 这个脚本是我实际创建json文件的地方
import urllib, json, subprocess
def get_wip_info(query_str) :
try :
temp = urllib.urlopen(query_str).read()
except :
time.sleep(2)
try :
temp = urllib.urlopen(query_str).read()
except :
temp = "ERROR"
return temp
def Get_Other_INFO() :
fail_message = None
serial_number = "xxxx"
ret_str = get_wip_info("http://servername/TesterURL/api/serial/%s/" %serial_number)
if "ERROR" not in ret_str :
ret_json = json.loads(ret_str)
return ret_json
A = Get_Other_INFO()
ret_json = A
cmd = "python module2.py %s"%dict(ret_json)
p = subprocess.Popen(cmd, shell = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p.communicate()
result = p.stdout.read()
print result
所以基本上如果你看,这个脚本在另一个名为module2.py的脚本中调用一个函数。在这个脚本中,它只是解析json文件,如下所示:
def okok(ret_json) :
part_number = str(ret_json.get("product", {}).get("SKU", "ERROR"))
return part_number
def main():
A = okok(sys.argv[1])
print A
if __name__ == '__main__':
main()
出于某种原因,我没有得到"部件号"打印。我有什么不对的吗?
我已确认属性product.get SKU不为空。请指教