应用场景 在容器内部,想要获取容器名称,替换容器内某些文件内的字符串, 代码如下:
--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"):
代码语言:javascript复制""" 替换文件中的字符串 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():
代码语言:javascript复制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][:12] # 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():
代码语言:javascript复制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__':
代码语言:javascript复制run()
复制
Nansen则将链上数据与包含数百万个用于投资组合分析标签的数据库相结合,助力使用者发现市场机会。
上述区块链数据服务企业有着共同的方向,即从一开始的链上数据分析,拓展到了更深层次的业务数据分析,而业务数据的四个特点也愈发明显:单数据的价值维度低、数据呈现指数级增长、海量数据等待处理、数据结构愈加复杂化。
import os
代码语言:javascript复制# 目标路径 path = "C:\Users\username\Desktop\project" dir_list = [] # os.walk() 自上而下或自下而上,遍历出所有文件。返回值 可迭代对象 # 当前路径(str),所有文件夹(list),所有文件(list) for dirpath, dirnames, filenames in os.walk(path): for filepath in filenames: print(os.path.join(dirpath, filepath)) if os.path.join(dirpath, filepath).endswith(".py"): dir_list.append(os.path.join(dirpath, filepath)) print(dir_list) for dir in dir_list: with open(dir, encoding="utf-8") as f: content = f.read() with open("project.txt", "a", encoding="utf-8") as file: file.write(content)