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 相关文章推荐
在Django的通用视图中处理Context的方法
Jul 21 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
python简单实现刷新智联简历
Mar 30 Python
Python绘制七段数码管实例代码
Dec 20 Python
在PyCharm中三步完成PyPy解释器的配置的方法
Oct 29 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
Python实现Selenium自动化Page模式
Jul 14 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
Jun 24 Python
python logging模块的使用
Sep 07 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的ASP防火墙
2006/10/09 PHP
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
php adodb分页实现代码
2009/03/19 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
详解Python中的array数组模块相关使用
2016/07/05 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python编写一个优美的下载器
2018/04/15 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
机械个人求职信范文
2014/01/24 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
践行三严三实心得体会
2014/10/13 职场文书
创业计划书之校园超市
2019/09/12 职场文书
Vue.Draggable实现交换位置
2022/04/07 Vue.js