私は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の方法ですか?