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

作者:钿畑 时间:2023-11-09 23:56:03 

需求:

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

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,PHP数组,文本文件
0
投稿

猜你喜欢

  • 基于SQLAlchemy实现操作MySQL并执行原生sql语句

    2024-01-18 17:16:05
  • MySql逗号拼接字符串查询的两种方法

    2024-01-18 18:44:44
  • mysql 5.7.17 winx64安装配置方法图文教程

    2024-01-25 08:23:38
  • Python Flask-web表单使用详解

    2022-07-14 01:55:59
  • GO语言中接口和接口型函数的具体使用

    2023-06-18 09:08:40
  • 浅谈Python批处理文件夹中的txt文件

    2023-03-17 22:58:28
  • 在ASP.NET 2.0中操作数据之十九:给编辑和新增界面增加验证控件

    2024-05-09 09:04:01
  • Python调用Fortran的三种形式

    2021-01-10 13:25:08
  • vue项目动态设置页面title及是否缓存页面的问题

    2024-04-10 10:23:52
  • SQL SERVER 将XML变量转为JSON文本

    2024-01-21 23:38:46
  • 基于python实现垂直爬虫系统的方法详解

    2023-11-17 13:33:38
  • 关于python之字典的嵌套,递归调用方法

    2021-12-05 05:25:45
  • 将pip源更换到国内镜像的详细步骤

    2021-01-13 07:33:00
  • python使用cPickle模块序列化实例

    2022-06-26 22:35:09
  • Sql Server:多行合并成一行,并做分组统计的两个方法

    2024-01-15 22:22:21
  • 三谈Iframe自适应高度

    2010-08-03 13:04:00
  • Go实现分布式系统高可用限流器实战

    2024-02-18 14:40:10
  • PyQt5+Caffe+Opencv搭建人脸识别登录界面

    2022-06-18 01:42:25
  • Django中使用Celery的方法示例

    2021-08-05 06:12:08
  • MySQL锁(表锁,行锁,共享锁,排它锁,间隙锁)使用详解

    2024-01-20 12:07:17
  • asp之家 网络编程 m.aspxhome.com