Python操作txt文本文件
2024-09-04 11:50:07
题目:
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"}]
解答:
第一种:
# 读取数据 --按行读取文件中的数据
fs = open("test.txt") # 打开文件
lines = fs.readlines() # 按行读取
for line in lines: # 循环处理每行数据
# print(line)
datas = line.strip("\n").split(",") # 对每行进行处理,strip("\n")去掉前后换行符,split(",")使用,号分隔
# print(datas) # datas = ['url:http://119.23.241.154:8080/futureloan/mvc/api/member/login',
# 'mobilephone:13760246701', 'pwd:123456']
urls = {} # 定义一个空字典
for i in datas: # 获取datas列表中的每一条数据
temp = i.split(":",1) # 将datas中每一条数据用 :号分隔1次
print(temp)
urls[temp[0]] = temp[1] # 键-值对添加值 key = value
print(urls)
第二种:不带返回值的函数
def getDictDatas_FromFile(filePath):
# 读取数据 --按行读取文件中的数据
fs = open(filePath) # 打开文件
lines = fs.readlines() # 按行读取 for line in lines: # 循环处理每行数据
# print(line)
datas = line.strip("\n").split(",") # 对每行进行处理,strip("\n")去掉前后换行符,split(",")使用,号分隔
urls = {} # 定义一个空字典
for i in datas: # 获取datas列表中的每一条数据
temp = i.split(":", 1) # 将datas中每一条数据用 :号分隔1次
# print(temp)
urls[temp[0]] = temp[1] # 键-值对添加值 key = value
print(urls) 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': '', 'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login', 'mobilephone': ''}
{'pwd': '', 'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login', 'mobilephone': ''}
最新文章
- C语言辗转相除法求2个数的最小公约数
- winfrom 捕获是否点击关闭按钮关闭的窗体
- Docker探索系列2之镜像打包与DockerFile
- XPath 教程
- [课程设计]Scrum 2.4 多鱼点餐系统开发进度(下单一览页面修复)
- 【转】malloc与free的底层实现
- LeetCode() Word Search II
- Unknown column '' in 'field list'解决方案
- 获取app版本号
- 编译android5.0源码的
- EXTJS4.2 控件之Grid 行点击事件
- Java Lambda简明教程(一)
- JavaScript 超类与子类 继承
- MySQL 修改字段类型或长度
- 原生态纯JavaScript 100大技巧大收集---你值得拥有
- HDU 5773 The All-purpose Zero
- 探索SQL Server元数据(一)
- ansible的Filter
- STL复习之 map &; vector --- disney HDU 2142
- requests库
热门文章
- jenkins tomcat
- thinkphp 多表事务处理
- ZooKeeper-安装和运行
- 经典的MapReduce1解析
- Tomcat学习之Wrapper
- makefile下$(wildcard $^),$^,$@,$?,$<;,$(@D),$(@F) 含义
- zeptojs的一些别人的博客
- JAVA中的泛型类型不可以直接初始化
- Microsoft MVC3 框架
- ";阿拉伯";";伊斯兰";";穆斯林";三个概念怎么分?