python文件操作及数据类型操作

python文件操作及数据类型操作练习

编写如下程序 # 有两行数据,存放在txt文件里面(手动建立文件,并添加如下数据): url:/futureloan/mvc/api/member/register@mobile:18866668888@pwd:123456 url:/futureloan/mvc/api/member/recharge@mobile:18866668888@amount:1000
请利用上课所学知识,把txt里面的两行内容,取出然后返回如下格式的数据:(可定义函数) [{‘url’:’/futureloan/mvc/api/member/register’,‘mobile’:‘18866668888’,‘pwd’:‘123456’}, {‘url’:’/futureloan/mvc/api/member/recharge’,‘mobile’:‘18866668888’,‘amount’:‘1000’}]

实现如下:

def get_data():
    # 先写入文件内容
    with open('test.txt', 'w+', encoding='utf-8') as file:
        file.writelines(['url:/futureloan/mvc/api/member/register@mobile:18866668888@pwd:123456\n',
                        'url:/futureloan/mvc/api/member/recharge@mobile:18866668888@amount:1000'])

    # 读取内容
    with open('test.txt', 'r+', encoding='utf-8') as fs:
        list1 = fs.readlines()
        "# print(list1)"
        list2 = []   # 定义一个空列表 用于存放最后的数据
    for i in range(0, len(list1)):
        dict1 = {}   # 定义一个空字典 用来存放字典格式的数据
        ""
        # 去掉\n 再通过@分割  得到两个列表
        ['url:/futureloan/mvc/api/member/register', 'mobile:18866668888', 'pwd:123456']
        ['url:/futureloan/mvc/api/member/recharge', 'mobile:18866668888', 'amount:1000']
        ""
        j = list1[i].strip('\n').split('@')
        "print(j)"
        for k in j:
            ""
            得到 ['url', '/futureloan/mvc/api/member/recharge']
                ['mobile', '18866668888']
                ['amount', '1000']
            ""
            m = k.split(':')    # 通过:分割  得到key value值
            "# print(m)"
            dict1[m[0]] = m[1]  # 将key value 组成键值对
        list2.append(dict1)
    print(list2)


get_data()

执行结果图如下:
在这里插入图片描述

稍作改进,使代码更清晰:

def get_dict(s):
    dict_info = {}
    list_info = s.split('@')  # 通过@分割
    # print('@分割后为:', list_info)
    for item in list_info:
        temp = item.split(':')   # 通过:分割
        # print(':分割后为:', temp)
        dict_info[temp[0]] = temp[1]
    # print(dict_info)
    return dict_info   # 返回字典


list_value = []
with open('test3.txt', 'r', encoding='utf-8') as fs:
    for line in fs.readlines():   # 遍历文件
        # print(line)
        line_info = line.strip()   # 去掉换行
        # print(line_info)
        dict1 = get_dict(line_info)      # 调用函数  得到列表中的字典值
        list_value.append(dict1)   # 将字典追加到列表中
print(list_value)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值