python中typeerror_如何在Python中获取TypeError?

我希望解析家谱数据,目的是创建一个名称、日期和出现次数的字典(以确保没有重复的单个条目)。以下是一个例子:0 NOTE the lines until the next note are all correct

0 HEAD

0 jc INDI

1 NAME Jimmy /Connors/

1 SEX M

1 BIRT

2 DATE 1 JAN 1950

1 DEAT

2 DATE 31 DEC 2099

1 FAMC f1

1 FAMS f2

0 f2 FAM

1 HUSB jc

1 WIFE ce

1 CHIL aa

1 MARR

2 DATE 1 JUN 1960

1 DIV

2 DATE 1 JUN 1961

0 TRLR

0 NOTE Everything past this line is invalid

0 INDI id

0 FAM id

0 NAME invalid

0 SEX invalid

0 BIRT invalid

0 DEAT invalid

0 FAMC invalid

0 FAMS invalid

0 MARR invalid

0 HUSB invalid

0 WIFE invalid

0 CHIL invalid

0 DIV invalid

0 DATE invalid

1 INDI invalid

1 FAM invalid

1 HEAD

1 TRLR

1 DATE

1 NOTE bad note

1 DATE 1 JUN 2017

2 INDI id

2 FAM id

2 NAME invalid

2 SEX invalid

2 BIRT invalid

2 DEAT invalid

2 FAMC invalid

2 FAMS invalid

2 MARR invalid

2 HUSB invalid

2 WIFE invalid

2 CHIL invalid

2 DIV invalid

1 INVALID invalid

3 INVALID invalid

4 NOTE invalid

下面是我的代码(因为我被卡住了):'''

No more than one individual with the same name and birth date

should appear in a GEDCOM file

'''

file_name = input("Give me a file name to parse (in single quotes): ")

target1 = 'NAME'

target2 = 'BIRT'

name = ''

count = 0

person_dict = {}

try:

file = open(file_name)

except IOError:

raise IOError("Can't open '{}'".format(file_name))

for index, line in enumerate(file):

word = line.strip().split()

if target1 in word:

name = word[index-1:]

arguments = " ".join(word[index-1:])

person_dict[name] = arguments

print(person_dict)

elif target2 in word:

birth = word[index-1:index+3]

clean_bdate = " ".join(word[index-1:index+3])

person_dict[date] = clean_bdate

print(birth)

else:

print('not name')

'''

if duplicates are found...

print("{} already exists. Removing duplicate entry.".format(arguments))

'''

我一直文件“用户”_故事_1.py“,第24行,亲自_迪克特名字,姓名=参数类型错误:不可引用的类型:‘list’

我尝试过很多事情,包括把我的列表变成元组,但似乎没有什么效果。很抱歉,如果这似乎是一个基本的问题,我对编程还不熟悉,我已经被困了一段时间了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值