python处理PHP数组文本文件实例


Posted in Python onSeptember 18, 2014

需求:

对一个配置文件进行处理,拿出可用的字符来拼接,下面是原始文本,我们要得到这样的结果,

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"]
Python 相关文章推荐
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
python中的格式化输出用法总结
Jul 28 Python
python中异常报错处理方法汇总
Nov 20 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
快速了解Python中的装饰器
Jan 11 Python
Python实现PS滤镜的旋转模糊功能示例
Jan 20 Python
python 定时修改数据库的示例代码
Apr 08 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
利用Python进行数据可视化常见的9种方法!超实用!
Jul 11 Python
python之super的使用小结
Aug 13 Python
解决django前后端分离csrf验证的问题
Feb 03 Python
Django 过滤器汇总及自定义过滤器使用详解
Jul 19 Python
Python threading多线程编程实例
Sep 18 #Python
Python中捕捉详细异常信息的代码示例
Sep 18 #Python
python字符串连接的N种方式总结
Sep 17 #Python
Python实现的检测web服务器健康状况的小程序
Sep 17 #Python
python写的一个squid访问日志分析的小程序
Sep 17 #Python
python进程管理工具supervisor使用实例
Sep 17 #Python
Python实现备份文件实例
Sep 16 #Python
You might like
PHP 引用是个坏习惯
2010/03/12 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
JavaScript静态的动态
2006/09/18 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
Three.js快速入门教程
2016/09/09 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
python使用PyV8执行javascript代码示例分享
2013/12/04 Python
python解析xml文件实例分析
2015/05/27 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
Python 创建守护进程的示例
2020/09/29 Python
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
.net软件工程师面试题
2015/03/31 面试题
优秀本科毕业生自荐信
2014/07/04 职场文书
开幕式邀请函
2015/01/31 职场文书
初三英语教学反思
2016/02/15 职场文书
人民币使用说明书
2019/04/17 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
python读取mnist数据集方法案例详解
2021/09/04 Python