有一些我很困惑的事情,它是我如何从文件存储一行,只使用那一行,而不是所有的行。
例如,如果我有一个txt文件:
3 4
happy maria
sad jake
angry honey
happy mary
其中3代表情绪数量,4代表人数。
那么我怎么能只拿出3和4的文件并存储它以便我可以在需要时使用它?例如numMood = 3
和numPeople = 4
我不希望任何人为我编码任何东西!我只是希望有人能够把我推向正确的方向或给我一个想法。
是将它存储到字典中并使用split()
函数的唯一方法吗?
答案 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