python处理PHP数组文本文件实例

yipeiwu_com7年前Python基础

需求:

对一个配置文件进行处理,拿出可用的字符来拼接,下面是原始文本,我们要得到这样的结果,

复制代码 代码如下:

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"]

相关文章

Django 拆分model和view的实现方法

Django 拆分model和view的实现方法

在标准的dgango项目中,自动生成的目录结构会包括models.py和views.py两个文件,分别在里面写model的代码和controller的代码,但是所有的代码都写在一个文件里...

python实现京东订单推送到测试环境,提供便利操作示例

本文实例讲述了python实现京东订单推送到测试环境,提供便利操作。分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import hashlib i...

Python基础语法(Python基础知识点)

Python与Perl,C和Java语言等有许多相似之处。不过,也有语言之间有一些明确的区别。本章的目的是让你迅速学习Python的语法。 第一个Python程序: 交互模式编程: 调用...

Python 使用with上下文实现计时功能

引言 with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导...

Python 读取串口数据,动态绘图的示例

Python 读取串口数据,动态绘图的示例

最近工作需要把单片机读取的传感器电压数据实时在PC上通过曲线显示出来,刚好在看python, 就试着用了python 与uart端口通讯,并且通过matplotlib.pyplot 模块...