Python 在编字典之前脱掉衣服?

Python 在编字典之前脱掉衣服?,python,dictionary,strip,Python,Dictionary,Strip,我正在制作一个文本文件的字典(python),其格式如下: 动物类型/冬眠/唤醒时间/睡眠时间/喂食时间 每种新品种都有一种新的动物。这是迄今为止的代码: def从文件读取(文件名): 问题是每行的最后一个值包含“\n”。这就是字典的样子: {'Bear':('winter',9,20,12\n') “大黄蜂”:('winter',6,23',-\n') "驼鹿":("-",7,19,10), '猫头鹰':('-',21,5,'21\n') "海狮":("-",6,18,14\n), "印章":

我正在制作一个文本文件的字典(python),其格式如下:

动物类型/冬眠/唤醒时间/睡眠时间/喂食时间

每种新品种都有一种新的动物。这是迄今为止的代码:

def从文件读取(文件名):

问题是每行的最后一个值包含“\n”。这就是字典的样子:

{'Bear':('winter',9,20,12\n')

“大黄蜂”:('winter',6,23',-\n')

"驼鹿":("-",7,19,10),

'猫头鹰':('-',21,5,'21\n')

"海狮":("-",6,18,14\n),

"印章":("-",6,18,14\n),

'狼':('-',6,20,'12\n'))


我在想我应该在创建字典之前\n删除,但我似乎无法使它正常工作。我也很好奇如何访问特定的值,因为我认为它们位于所谓的元组(?)中。例如,如果我只想打印唤醒时间,我该怎么办?对于初学者可能犯的错误,我深表歉意:)

“我似乎无法让它工作”。你试了什么?它应该是
line.strip().split(“/”)
来代替现有的拆分。您可以通过元组的索引访问元组中的值:
animal_dict['Bear'][0]
例如是“winter”。查看您拥有的字符串(到处都有额外的空格),您可能希望对每个值而不是整行执行strip,例如,
k、v1、v2、v3、v4=[x.strip(),代表行中的x.split(“/”)
。感谢您的帮助!正如我所说,我是一个完全的初学者(白痴?),并且尝试过line.strip(r“\n”).split(“/”),因为我以前从未使用过strip。只需使用line.strip()即可查看::.strip()没有参数(或没有参数作为第一个参数)删除开头和结尾的所有空白,包括空格、制表符、换行符和回车符。保留它不会造成任何伤害,并且允许您的程序处理插入到文件中的意外额外空白。
'''
Makes a dictionary with the animals as keys and their attributes as values
:param file_name: Name of the file with information
:return: Dictionary with the animals and their attributes
'''

fobj = open(file_name, "r")
for line in fobj:
    key , value1 , value2 , value3 , value4 = line.split("/")

    animal_dict[key] = value1, int(value2), int(value3), value4

print(animal_dict)
return animal_dict