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抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
Python中存取文件的4种不同操作
Jul 02 Python
Python实现聊天机器人的示例代码
Jul 09 Python
使用TensorFlow实现SVM
Sep 06 Python
python写程序统计词频的方法
Jul 29 Python
python读取ini配置的类封装代码实例
Jan 08 Python
在Tensorflow中实现梯度下降法更新参数值
Jan 23 Python
解决Tensorflow占用GPU显存问题
Feb 03 Python
浅谈django channels 路由误导
May 28 Python
Python语言编写智力问答小游戏功能
Oct 13 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
Feb 06 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原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
jcrop基本参数一览
2013/07/16 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
javascript打印html内容功能的方法示例
2013/11/28 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
python使用多线程不断刷新网页的方法
2015/03/31 Python
Python操作列表之List.insert()方法的使用
2015/05/20 Python
Python快速从注释生成文档的方法
2016/12/26 Python
python:socket传输大文件示例
2017/01/18 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
python-str,list,set间的转换实例
2018/06/27 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
this关键字的含义
2015/04/08 面试题
医药代表个人的求职信分享
2013/12/08 职场文书
新学期开学演讲稿
2014/05/24 职场文书
阳光体育活动实施方案
2014/05/25 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书