我对 Python 很陌生,而不是程序员。我有这个:
y1990=open('Documents/python/google-python-exercises/babynames/baby1990.html', 'r', encoding='utf8')
y1992=open('Documents/python/google-python-exercises/babynames/baby1992.html', 'r', encoding='utf8')
y1994=open('Documents/python/google-python-exercises/babynames/baby1994.html', 'r', encoding='utf8')
y1996=open('Documents/python/google-python-exercises/babynames/baby1996.html', 'r', encoding='utf8')
y1998=open('Documents/python/google-python-exercises/babynames/baby1998.html', 'r', encoding='utf8')
y2000=open('Documents/python/google-python-exercises/babynames/baby2000.html', 'r', encoding='utf8')
y2002=open('Documents/python/google-python-exercises/babynames/baby2002.html', 'r', encoding='utf8')
y2004=open('Documents/python/google-python-exercises/babynames/baby2004.html', 'r', encoding='utf8')
y2006=open('Documents/python/google-python-exercises/babynames/baby2006.html', 'r', encoding='utf8')
y2008=open('Documents/python/google-python-exercises/babynames/baby2008.html', 'r', encoding='utf8')
我想写一个更简洁的代码,所以我想到了这个:
path='Documents/python/google-python-exercises/babynames/baby'
years=[year for year in range(1990,2010,2)]
open(path+str(years[0])+'.html') # works
另一方面
'y'+str(years[0]) #works fine and creates string 'y1990'
但是,当我尝试
'y'+str(years[0])=open(path+str(years[0])+'.html')
File "<stdin>", line 1
SyntaxError: can't assign to operator
如您所见,我正在尝试创建变量名并动态打开文件。我在这些方面尝试了多种方法,并且都产生了类似的错误。我还发现其他 帖子处理我认为类似的问题,但我看不到答案如何解决我的情况(很可能是我缺乏 Python 经验)。人们提到列表或字典是要走的路,这也适用于我的问题吗?我将如何解决这个问题?这甚至是正确的 Python 方式吗?