从txt文件中存储一个特定的行?蟒蛇

时间:2016-12-06 02:18:15

标签: python

有一些我很困惑的事情,它是我如何从文件存储一行,只使用那一行,而不是所有的行。

例如,如果我有一个txt文件:

3 4 

happy maria
sad jake
angry honey
happy mary

其中3代表情绪数量,4代表人数。

那么我怎么能只拿出3和4的文件并存储它以便我可以在需要时使用它?例如numMood = 3numPeople = 4

我不希望任何人为我编码任何东西!我只是希望有人能够把我推向正确的方向或给我一个想法。

是将它存储到字典中并使用split()函数的唯一方法吗?

2 个答案:

答案 0 :(得分:3)

与nexus66非常相似。我只是在结果上调用int并使用元组扩展将值放入参数中。

file_path = r'dummy.txt'
with open(file_path, 'rb') as file:
    first_line = file.readline()
numMood, numPeople = [int(x) for x in first_line.strip().split()]

print(numMood)
print(numPeople)

输出

3
4

答案 1 :(得分:0)

简单方法是使用readline()

例如,我们假设您的文件名为my_file

所以,首先你应该打开你的文件,然后只读它的第一行并打印/返回/保存它的第一行3 4。然后你可以使用split(" ")空格。但请记住返回到\n行的字符的结尾,您可以使用strip()将其替换为空字符串。

就像这个例子:

with open("my_file", 'r') as f:
    data = f.readline().strip().split(" ")
    print(data, type(data))
    print("numMood = {0}\nnumPeople= {1}".format(data[0], data[1]))

输出:

['3', '4'] <class 'list'>
numMood = 3
numPeople= 4