介绍
小编给大家分享一下Python操作码头工人复述的方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
使用操作命令借助子流程模块进行操作
#编码:utf - 8 导入子流程 def cmd(命令): subp=subprocess.Popen(命令shell=True, stdout=subprocess.PIPE stderr=subprocess.PIPE编码=皍tf-8") subp.wait (2) 如果subp.poll ()==0: 返回subp.communicate () 其他: 回来没有 获取复述,键所对应的值 def get_output(命令): subp=subprocess.getoutput(命令) 返回subp
瓶框架获取码头工人里面复述中的键值对
@ui_case_set.route (“/get_code",方法=[“GET"]) @allow_cross_domain def get_code (): set_id=request.values.get (“id") 如果不是set_id: 返回response_fail(味精=叭鄙俨问美痠d") key_name=発ey"+ str (set_id) value_name=get_output(“码头工人执行{0}redis-cli得到{1}“.format (DockerConfig。container_redis_name, key_name)) 如果value_name: 返回response_fail(味精=按瞬馐约粄}编辑!“.format(“金刚“)) 其他: 返回response_success(味精=翱梢越斜嗉?“)
瓶框架增加及删除码头工人里面复述中的键值对
@ui_case_set.route (“/time_limit",方法=[“POST"]) @allow_cross_domain def set_time (): #锁:为1:上锁,为0时:解锁 set_id=request.json.get (“id") locak=request.json.get (“lock") #如果不是全部([set_id locak]): #返回response_fail(味精=安问蛔恪? key_name=発ey"+ str (set_id) 如果locak==1: value_name=time.strftime (“% Y - % m - H % d %: % m: % S", time.localtime (time.time ())) cmd(“码头工人执行{0}redis-cli setex 300 & # 39; {1} {2} & # 39;“.format (DockerConfig。container_redis_name key_name value_name)) 返回response_success(内容={“lock_status": 1},味精=安馐约瘂}上锁成功“.format (set_id)) 其他: cmd(“码头工人执行{0}redis-cli del {1}“.format (DockerConfig。container_redis_name, key_name)) 返回response_success(内容={“lock_status": 0},味精=安馐约瘂}解锁成功“.format (set_id))
注意点:使用操作命令时不要带”决定的,如(码头工人exec - ui_redis(码头工人容器名称)redis-cli设置关键淡水河谷)否则接口在前台运行方式下是可以正常访问的,在python程序后台运行下运行失败。因为指定——是需要开启一个交互模式的终端。
看完了这篇文章,相信你对python操作码头工人复述的方法有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!