基于python的交互式访问

Posted ericnie的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于python的交互式访问相关的知识,希望对你有一定的参考价值。

应用迁移中遇到一些有特殊要求的应用,比如需要通过交互生成一些新的config文件,然后启动应用需要依赖于这些文件,这样在构建镜像的时候基本上是没有办法把这些文件固定的,因为他需要根据运行环境去进行动态注册生成,目前的解决方法如下:

1.写一段支持交互的python脚本,生成配置

#!/usr/bin/python

import subprocess
import time
import fcntl
import os

p = subprocess.Popen(["java","-jar","a.jar"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)

flags = fcntl.fcntl(p.stdout,fcntl.F_GETFL)
fcntl.fcntl(p.stdout,fcntl.F_SETZFL,flags| os.O_NONBLOCK)

time.sleep(2)
print p.stdout.read()
p.stdin.write("1\r\n")

开始调试时屏幕一直处于blocking状态,后来同事高手指导下加入NONBLOCK后才通过。

2.将python脚本放入tomcat运行的catalina.sh,让他在启动容器后,启动脚本一开始就运行

 

以上是关于基于python的交互式访问的主要内容,如果未能解决你的问题,请参考以下文章

基于散列片段的安全性究竟是如何工作的?

基于内部片段的graphql过滤器(gatsbyJS)

几个可以直接拿来用的jQuery代码片段

几个可以直接拿来用的jQuery代码片段

如何使用 xcode 将快照划分为多个片段,以便让用户与每个片段进行交互?

Python爬虫 Selenium -- Selenium元素定位Selenium访问元素信息Selenium交互