首先,我有一个名为data的文件夹,文件夹中有.txt文件,是美国各州的缩写。这些文件有前几个最流行的名字,为当年和国家。随机文件中的几行
AK,F,1910,Mary,14
AK,F,1910,Annie,12
AK,F,1910,Anna,10
AK,F,1910,Margaret,8
AK,F,1910,Helen,7
AK,F,1910,Elsie,6
AK,F,1910,Lucy,6
AK,F,1910,Dorothy,5
AK,F,1911,Mary,12
AK,F,1911,Margaret,7
AK,F,1911,Ruth,7
AK,F,1911,Annie,6
AK,F,1911,Elizabeth,6
AK,F,1911,Helen,6
我的任务是在用户给定的年份范围内找到最流行的名字(性别也由用户给定)。正如你所看到的,最流行的名字是第一个写着新年的名字。我的代码如下:
def getTopNames(state, gender, startYear, endYear):
names = []
file = open("data/" + state + ".TXT")
with open(file) as f:
for line in f:
if startYear and gender in line:
names.append(line.split(","))
if startYear < endYear:
startYear += 1
names.append(line.split(","))
print ( lstAll )
这是我得到的错误:
File "C:/Python34/CS1 WORK/top_names.py", line 53, in getTopNames
with open(file) as f:
TypeError: invalid file: <_io.TextIOWrapper name='data/NY.TXT' mode='r' encoding='cp1252'>
我做错什么了?我确保数据文件与我的.py文件在同一个文件中。你知道吗
您试图打开文件两次:
而且应该使用
然后,排队
不像你想的那样管用。它实际上意味着
你想要这样的东西吗
相关问题 更多 >
编程相关推荐