
import os
users = [] # 用来保存从文件中读取的数据
for item in os.listdir('.'): # 遍历指定目录
if os.path.isfile(item) and item.endswith('.txt'): # 判断是否为.txt文件
f = open(item) # 打开文件
for line in f: # 读入文件的每一行
if line.startswith('用户名'): # 变量初始化
uid = age = sex = None
elif line.startswith("用户id"): # 根据每行开始内容获取数据
uid = line.split()[1]
elif line.startswith("年龄"):
age = line.split()[1]
elif line.startswith("性别"):
sex = line.split()[1]
users.append([uid, age, sex]) # 将所获得的数据以列表的形式追加到数组中
f.close() # 关闭文件
print(users) # 打印数组内容
# [['12345', '23', '男'], ['12346', '23', '男'], ['12347', '23', '男'], ['12348', '23', '男']]
使用的数据文件:
1.txt
------------
用户名 abc
------------
用户id 12345
年龄 23
性别 男
------------
用户名 小张
------------
用户id 12346
年龄 23
性别 男
2.txt
------------
用户名 张三
------------
用户id 12347
年龄 23
性别 男
------------
用户名 李四
------------
用户id 12348
年龄 23
性别 男
用open命令打开你要读取的文件,返回一个文件对象然后在这个对象上执行read,readlines,readline等命令读取文件
或使用for循环自动按行读取文件
因为在notepad++中运行时,会从notepad++.exe所在的目录查找文件lines.txt,而不会从代码所在目录下查找。也就是说工作目录是notepad++.exe所在的目录,而不是代码所在目录。你可以把lines.txt放到notepad++.exe所在目录,或者在命令行下运行python代码
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)