应用场景
在容器内部,想要获取容器名称,替换容器内某些文件内的字符串, 代码如下:
--coding:utf-8--
import os
import redis
def alter(file, new_str, old_str="abc_123abc"):
应用场景
在容器内部,想要获取容器名称,替换容器内某些文件内的字符串, 代码如下:
--coding:utf-8--
import os
import redis
def alter(file, new_str, old_str="abc_123abc"):
""" 替换文件中的字符串 file:文件名 old_str:就字符串 new_str:新字符串 """ file_data = "" with open(file, "r") as f: for line in f: if old_str in line: line = line.replace(old_str, new_str) file_data += line with open(file, "w") as f: f.write(file_data)
复制
def get_container_name():
db = redis.Redis(host="192.168.0.111", port=6380, decode_responses=False) # start: in container, run next code ------------------------------------------------- cmd = "cat /proc/self/cgroup" output = os.popen(cmd) rests = output.readlines() container_message= rests[-1] if not container_message: container_id = "abc" else: container_id = container_message.strip().split("docker-")-1 # end. ---------------------------------------------------------------------------------- container_name = None if container_id != "abc": key_name = "nm_" + container_id container_name = db.hget("container_msg", key_name) if container_name: container_name = container_name.decode("utf-8") return container_name
复制
def run():
nginx_conf = "/etc/nginx/nginx.conf" galaxy_yml = "/galaxy-central/config/galaxy.yml" container_name = get_container_name() if container_name is not None: alter(nginx_conf, container_name) os.popen("nginx -s reload") # os.popen("cp /galaxy-central/config/galaxy.yml.sample /galaxy-central/config/galaxy.yml") alter(galaxy_yml, container_name) print("Replacement string 'abc_123abc' succeeded") else: print("Replacement string 'abc_123abc' failed")
复制
if name == '__main__':
run()
复制
复制
Nansen则将链上数据与包含数百万个用于投资组合分析标签的数据库相结合,助力使用者发现市场机会。
上述区块链数据服务企业有着共同的方向,即从一开始的链上数据分析,拓展到了更深层次的业务数据分析,而业务数据的四个特点也愈发明显:单数据的价值维度低、数据呈现指数级增长、海量数据等待处理、数据结构愈加复杂化。
import os