2016-12-06 45 views
0

有些东西让我感到困惑,这就是我如何从文件中存储一行文件,并使用该行而不是所有行。从txt文件中存储一个特定的行? Python

例如,如果我有txt文件:

3 4 

happy maria 
sad jake 
angry honey 
happy mary 

其中3表示的情绪的数量和4表示的人的数量。

那么我会如何将3和4从文件中取出并存储起来,以便在需要时使用它?例如numMood = 3numPeople = 4

我不指望任何人为我编写任何代码!我只是希望有人能把我推向正确的方向或给我一个主意。

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

+0

读线,然后再处理你想要的东西,但是存储你想要的结果。它不是很清楚你在问什么 – pvg

+1

简单'readline()',后来'split()'和'int()' – furas

+0

对不起,如果它不清楚!我试图找到解释它的最佳方法,但我想问的是,如果有任何方法可以选择特定的txt文件行并使用该数据。如果后来我想仅使用来自第2行的数据或第2-4行的数据。有什么办法可以做到吗? – naraemee

回答

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 
+0

谢谢!现在我明白我能从那里做些什么! – naraemee

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 
+1

'。 strip()'在字符串末尾删除换行符,'.replace(“\ n”,“”).strip()'是多余的。另外,'.split(“”)'和'.split()'不等价,并且OP可能需要'.split()'。 – DyZ

+0

是的,你是对的@DYZ。谢谢。我会编辑我的答案 –

相关问题