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求算数平方根和约数的方法汇总
Mar 09 Python
Python中的迭代器与生成器高级用法解析
Jun 28 Python
详解python做UI界面的方法
Feb 27 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
Django ImageFiled上传照片并显示的方法
Jul 28 Python
python3中eval函数用法使用简介
Aug 02 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
将python安装信息加入注册表的示例
Nov 20 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
Jan 03 Python
Python logging日志模块 配置文件方式
Jul 12 Python
Python字典实现伪切片功能
Oct 28 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
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
PHP获取MAC地址的具体实例
2013/12/13 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
一个简单的js动画效果代码
2010/07/20 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
用python实现批量重命名文件的代码
2012/05/25 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
kafka-python批量发送数据的实例
2018/12/27 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
python中常见错误及解决方法
2020/06/21 Python
毕业生个人求职的自我评价
2013/10/28 职场文书
《曹刿论战》教学反思
2014/03/02 职场文书
爱护草坪标语
2014/06/24 职场文书
群众路线表态发言材料
2014/10/17 职场文书
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python
python模板入门教程之flask Jinja
2022/04/11 Python