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 web程序
Sep 11 Python
Python网络编程 Python套接字编程
Sep 13 Python
人机交互程序 python实现人机对话
Nov 14 Python
Python中函数参数调用方式分析
Aug 09 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
python学习开发mock接口
Apr 28 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
Python3运算符常见用法分析
Feb 14 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
DRF使用simple JWT身份验证的实现
Jan 14 Python
python反扒机制的5种解决方法
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常用函数小技巧
2008/09/11 PHP
smarty模板数学运算示例
2016/12/11 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
python实现随机梯度下降法
2020/03/24 Python
使用Python 正则匹配两个特定字符之间的字符方法
2018/12/24 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
Python 随机按键模拟2小时
2020/12/30 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
TCP/IP模型的分界线
2012/12/01 面试题
中专生自我鉴定书范文
2013/12/28 职场文书
十月份红领巾广播稿
2014/01/22 职场文书
2014年科技工作总结
2014/11/26 职场文书
农业项目合作意向书
2015/05/08 职场文书
同乡会致辞
2015/07/30 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
Html5调用企业微信的实现
2021/04/16 HTML / CSS
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS