題目:
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'}