用Python读入规定目录下的txt文件中的部分内容

小弟初学Python,好多东西不会用。恳求高手帮忙。现在我要把规定目录下的所有txt文件中的特殊内容读到数组中。规定目录下全是txt文件而且他们中的格式完全相同。如下:-... 小弟初学Python,好多东西不会用。恳求高手帮忙。
现在我要把规定目录下的所有txt文件中的特殊内容读到数组中。规定目录下全是txt文件而且他们中的格式完全相同。如下:

------------
用户名:abc
------------
用户id 12345

年龄 23

性别 男
...(省略无需处理内容)
------------
用户名 小张
------------
同上

我现在要把用户ID和年龄性别人别存到数组中 方便以后操作 恳求高手指点!
最好是详细一点的注释!个人也在努力中。。。。
展开
 我来答
glight99
推荐于2017-12-16 · TA获得超过889个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:229万
展开全部
# filename: test.py
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

性别 男
缘伴从
推荐于2016-01-21 · TA获得超过292个赞
知道小有建树答主
回答量:356
采纳率:33%
帮助的人:111万
展开全部
f = r'C:\Python33\include\ceval.txt'    #你所要打开的特定目录的特定文件
with open(f,'r') as file:
l1 = file.readlines()             #把文件中的每一行作为一个元素添加到列表l1上
print(l1[3])                          #假设你要读取第三行打印输出
  1. 如上面所示的代码,要读取txt文件,可以以这个代码为例进行相应的扩展。

  2. with.....as.......是一个上下文管理器的语句,当它里面的语句执行完后,文件会自动关闭。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenghai2323
2015-08-10 · TA获得超过494个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:95万
展开全部
能不能说的清楚点你的需求?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式