python 字符串型二维数组转换

  问题场景:需要rsync一批文件,每个rsync信息又是一个list。想将这部分信息以字符串的形式存到mysql中。使用pickle模块做持久化,更为智能,详见http://www.simonzhang.net/?p=598。我想方便手动在数据库里手动编写。就写了以下部分。此次测试虽然实现字符串转列表功能,但是不能处理字符串、数字型等高级问题,只是自己用着方便(重新造轮子)。

#!/bin/env python
# -*- coding:utf-8 -*-
# Date:        2015-09-23
# Author:      simonzhang
# web:         www.simonzhang.net
# Email:       simon-zzm@163.com
import sys
from string import strip

# 获得参数
a= sys.argv[1]
# 初始化一个列表
rsync_info = []
# 父级列表之间用"?"分割
# 循环处理父级的
f_list = a.split('?')
for f_num in xrange(0, len(f_list)):
    # 每次循环增加一个子列表,如果但是单个数据则直接添加
    if f_list[f_num][0] == "[":
        # 两级列表,要现增加一个新的
        rsync_info.append([])
        for s_one in f_list[f_num][1:-1].split(','):
            rsync_info[f_num].append(strip(s_one))
    else:
        rsync_info.append(f_list[f_num])
print rsync_info

执行测试成功
python test.py “[aa, 123| 4.56]?[bb, 78|9/10]?cc”

发表评论

电子邮件地址不会被公开。 必填项已用*标注