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中用Descriptor实现类级属性(Property)详解
Sep 18 Python
Python中的ceil()方法使用教程
May 14 Python
通过Python来使用七牛云存储的方法详解
Aug 07 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
Python中print和return的作用及区别解析
May 05 Python
django基于restframework的CBV封装详解
Aug 08 Python
scikit-learn线性回归,多元回归,多项式回归的实现
Aug 29 Python
解析PyCharm Python运行权限问题
Jan 08 Python
Python小白不正确的使用类变量实例
May 29 Python
python中os包的用法
Jun 01 Python
python 将Excel转Word的示例
Mar 02 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
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
php的urlencode()URL编码函数浅析
2011/08/09 PHP
php实现按文件名搜索文件的远程文件查找器
2014/05/10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
php向js函数传参的几种方法
2014/08/10 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
js new Date()实例测试
2019/10/31 Javascript
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
CSS3实现swap交换动画
2016/01/19 HTML / CSS
创业计划书的主要内容有哪些
2014/01/29 职场文书
优秀学生干部推荐材料
2014/02/03 职场文书
实习生求职自荐信
2014/02/07 职场文书
2014年科研工作总结
2014/12/03 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
公司财务人员岗位职责
2015/04/14 职场文书
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android