python处理PHP数组文本文件实例
作者:钿畑 发布时间:2023-11-09 23:56:03
需求:
对一个配置文件进行处理,拿出可用的字符来拼接,下面是原始文本,我们要得到这样的结果,
redis -h 127.0.0.1 -p 6379 | select 2
redis -h 127.0.0.1 -p 6379 | select 16
redis -h 127.0.0.1 -p 6379 | select 8
原始文本:
'redis_list' => array(
'normal' => array(
'host' => '10.4.3.125',
'port' => 6405,
'db' => 6
),
'redis_list' => array(
'normal' => array(
'host' => '127.0.0.1',
'port' => 6379,
'db' => 2
),
'redis_list' => array(
'normal' => array(
'host' => '127.0.0.1',
'port' => 6379,
'db' => 16
),
'redis_list' => array(
'normal' => array(
'host' => '127.0.0.1',
'port' => 6379,
'db' => 8
),
上python:
#!/usr/bin/env python
#coding=utf-8
import os
file=open("redis_list.txt", "r")
file_content=file.read()
php_array=file_content.replace("'normal' => array(","")
pstr = php_array.replace(" ","").replace("\r","").replace("\n", "").replace("\t", "").replace("(", "").replace("'", "").replace("),", "")
#print pstr
pstr_list = pstr.split("redis_list=>array")
#print type(pstr_list)
cf_param = []
for i in pstr_list:
if i:
## 'host'=>'127.0.0.1','port'=>6411,'db'=>2
i_list = i.split(",")
if len(i_list)==3:
op = {};
for ii in i_list:
ii_list = ii.split("=>")
if len(ii_list) == 2:
op[ii_list[0]] = ii_list[1]
cf_param.append(op)
for i in cf_param:
print "redis -h "+i["host"] + " -p "+i["port"] +"|select" +" "+i["db"]


猜你喜欢
- 一、说明自己一是想跟上潮流二是习惯于直接干三是没有人可以请教,由于这三点经常搞得要死要活。之前只简单看过没写过Diango,没看过Djang
- Jenkins定时构建时间设置Jenkins时区设置为北京时间打开 【系统管理】->【脚本命令行】运行下面的命令System.setP
- vue实现菜单切换,点击菜单导航切换不同的内容以及为当前点击的选项添加样式,或者组件。method里: css:html代码:&l
- 本文实例讲述了python中__slots__的用法。分享给大家供大家参考。具体分析如下:定义__slots__ 后,可以再实例上分配的属性
- ACID:Atomic、Consistent、Isolated、Durable 存储程序提供了一个绝佳的机制来定义、封装和管理事务。 1,M
- 本文实例讲述了JavaScript点击按钮后弹出透明浮动层的方法。分享给大家供大家参考。具体分析如下:这里实现点击后页面变灰色,并用JS弹出
- finetune分为全局finetune和局部finetune。首先介绍一下局部finetune步骤:1.固定参数 for na
- 1) ERROR 1222 (21000): The used SELECT statements have a different num
- 1. 线程的概念线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程I
- 错误信息这是新建一个项目还原问题,node简单写了个数据返回关键代码const express = require('express
- print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,#!/usr/bin/python # -*- coding: UT
- 本文为大家分享了WebStorm安装教程,供大家参考一、简介WebStorm 是jetbrains公司旗下一款JavaScript 开发工具
- 匿名函数什么是匿名函数用一句话表达只有返回值的函数就是匿名函数。匿名函数只用来实现一些简单的函数功能,所以追求代码的简洁和高效。使用关键字
- 由于我在从源码看vue(v2.7.10)的computed的实现原理中详细的讲解过computed的实现,本篇跟computed的原理类似。
- 图表库下面的类库可以让你很简单就能创建复杂的图表和图片。当然,它们需要GD库的支持。pChart - 一个可以创建统计图的库。Libchar
- 在Internet上我们每天都会遇到数不清的表单,也看到其中大部分并没有限制用户多次提交同一个表单。缺乏这种限制有时候会产生某些预料不到的结
- 简介urlparse模块主要是用于解析url中的参数 对url按照一定格式进行 拆分或拼接。urlparse库用于把url解析为
- 1.对于一维数组,可以有:2. 对于二维数组:考虑可将其看作为矩阵,故可以如下书写二重遍历 这里外层循环的是二维数组A的行,内层则
- 在开发C/S结构的大型数据库应用软件时,一般情况下,软件开发人员和数据库设计人员并不是同一个人,这就需要协商好一些即可由程序设
- 首先我们看看数组的分类: 从数组的下标分为索引数组、关联数组 /* 索引数组,即通常情况下所说的数组 */ var ary1 = [1,3,