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调用C语言开发的共享库方法实例
Mar 18 Python
Python类属性与实例属性用法分析
May 09 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
python删除特定文件的方法
Jul 30 Python
python 链接和操作 memcache方法
Mar 04 Python
Python引用传值概念与用法实例小结
Oct 07 Python
python中协程实现TCP连接的实例分析
Oct 14 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
Nov 14 Python
用Python+OpenCV对比图像质量的几种方法
Jul 15 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
Python爬虫代理池搭建的方法步骤
Sep 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
PHP setTime 设置当前时间的代码
2012/08/27 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
Javascript的比较汇总
2016/07/25 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
新手快速上手webpack4打包工具的使用详解
2019/01/28 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
vue实现公告栏文字上下滚动效果的示例代码
2020/06/16 Javascript
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
python爬虫爬取微博评论案例详解
2019/03/27 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
什么是python类属性
2020/06/10 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
北京某公司的.net笔试题
2014/03/20 面试题
自我评价正确写法范文
2013/12/10 职场文书
学生会竞聘书范文
2014/03/31 职场文书
培训科主任岗位职责
2014/08/08 职场文书
优秀党员申报材料
2014/12/18 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
家长会后的感想
2015/08/11 职场文书
导游词之昭君岛
2020/01/17 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技