Python操作txt文本文件


题目:

1、TXT文本文件中的内容为:
  url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:13760246701,pwd:123456
  url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:15678934551,pwd:234555
要求:
  1)将文件的数据读取出来,并根据逗号将其分隔出来 ;
  2)将分隔出来的数据,再以冒号进行分隔。冒号之前为key,冒号之后为value。
  3)最终结果要求如下:
    [{"url":"http://119.23.241.154:8080/futureloan/mvc/api/member/login","mobilephone":"13760246701","pwd":"123456"},
    {"url":"http://119.23.241.154:8080/futureloan/mvc/api/member/login","mobilephone":"15678934551","pwd":"234555"}]

解答:

  第一种:
 1 # 读取数据 --按行读取文件中的数据
 2 fs = open("test.txt")   # 打开文件
 3 lines = fs.readlines()  # 按行读取
 4 for line in lines:  # 循环处理每行数据
 5     # print(line)
 6     datas = line.strip("\n").split(",")     # 对每行进行处理,strip("\n")去掉前后换行符,split(",")使用,号分隔
 7     # print(datas) # datas = ['url:http://119.23.241.154:8080/futureloan/mvc/api/member/login',
 8                         # 'mobilephone:13760246701', 'pwd:123456']
 9     urls = {}   # 定义一个空字典
10     for i in datas:     # 获取datas列表中的每一条数据
11         temp = i.split(":",1)   # 将datas中每一条数据用 :号分隔1次
12         print(temp) 13         urls[temp[0]] = temp[1]     # 键-值对添加值 key = value
14         print(urls)

  第二种:不带返回值的函数

 1 def getDictDatas_FromFile(filePath):  2     # 读取数据 --按行读取文件中的数据
 3     fs = open(filePath)  # 打开文件
 4     lines = fs.readlines()  # 按行读取
 5 
 6     for line in lines:  # 循环处理每行数据
 7         # print(line)
 8         datas = line.strip("\n").split(",")  # 对每行进行处理,strip("\n")去掉前后换行符,split(",")使用,号分隔
 9         urls = {}  # 定义一个空字典
10         for i in datas:  # 获取datas列表中的每一条数据
11             temp = i.split(":", 1)  # 将datas中每一条数据用 :号分隔1次
12             # print(temp)
13             urls[temp[0]] = temp[1]  # 键-值对添加值 key = value
14         print(urls) 15 
16 a = getDictDatas_FromFile("test.txt")

  第三种:带返回值的函数

def getDictDatas_FromFile(filePath): fs = open(filePath,encoding= 'utf-8') # 打开文件
    lines = fs.readlines()  # 按行读取
    data = []   # 定义一个空列表,用来接收每行数据
    for line in lines: list = line.strip("\n").split(",")  # 用,号分隔,并去除换行符
        urls = {}   # 定义一个空字典
        for item in list:   # 获取list列表中的每一条数据
            temp = item.split(":",1)    # 将list中每一条数据用 :号分隔1次
            urls[temp[0]] = temp[1] # 键-值对添加值 key = value
 data.append(urls) return data

  执行结果:

{'pwd': '123456', 'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login', 'mobilephone': '13760246701'} {'pwd': '234555', 'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login', 'mobilephone': '15678934551'}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM