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分析apache访问日志脚本分享
Feb 26 Python
Python字符串、元组、列表、字典互相转换的方法
Jan 23 Python
PHP实现发送和接收JSON请求
Jun 07 Python
Python continue继续循环用法总结
Jun 10 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
numpy实现神经网络反向传播算法的步骤
Dec 24 Python
关于Tensorflow使用CPU报错的解决方式
Feb 05 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
Python 多进程原理及实现
Dec 21 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开发GUI
2006/10/09 PHP
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
帝国cms常用标签汇总
2015/07/06 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
Laravel中为什么不使用blpop取队列详析
2018/08/01 PHP
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
[02:03]DOTA2亚洲邀请赛 HGT战队出场宣传片
2015/02/07 DOTA
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
PHP实现发送和接收JSON请求
2018/06/07 Python
分析python请求数据
2018/08/19 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
三八妇女节活动主持词
2014/03/17 职场文书
小学班主任培训方案
2014/06/04 职场文书
法定代表人资格证明书
2014/09/11 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
社会实践单位意见
2015/06/05 职场文书
2016国培学习心得体会
2016/01/08 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript