【发布时间】:2021-02-23 06:44:12
【问题描述】:
所以我有一些包含数据/行的 txt 文件。例如,文件 Q127.txt 将包含:
0 45 67 78 91
0 56 78 89 01
5 56 43 56 67
我只想读取文件中每一行的第一个字符。我通过以下方式实现的:
file = open("Q127.txt","r")
for line in file.readlines():
print(line[0]) # just printing to show what i get
output: 0
0
5
现在因为我有很多这样的 .txt 文件,我想从一个文件夹中读取它们,并将文件名(作为键)和行 [0] 值(作为值)存储在一个名为类的字典中。所以类应该是这样的
classes={"Q127.txt": [0,0,5], "Q128.txt": [5,8,0,1,1,1,1],..........}
我如何实现这一目标? 编辑:这是我尝试过的,但我仍然没有得到想要的输出
import os
file = open("Q127.txt","r")
classes={}
l=[]
for line in file.readlines():
l.append(line[0])
classes[file]=[l]
classes # to see the output
output:
{<_io.TextIOWrapper
name='Q127.txt' mode='r'
encoding='cp1252'>: [['0','0']]}
【问题讨论】:
-
您尝试过什么来实现上述行为,在实施您尝试的解决方案时有什么问题?
-
嗨,我已经编辑了关于我尝试过的问题。
-
请将类[file]=[l]移到for循环之外
-
另外,您不能使用文件作为键,它具有文件对象而不仅仅是文件名。将其用作 classes_dict[file.name] = values
-
您想将文件名(即字符串)设置为字典键。但是在
classes[file]=[l]行中,您将相应的文件对象设置为键。将其更改为classes[file.name]=[l]并将这条线移到循环之外,因为它在里面很简单
标签: python file dictionary