次のコードを取得しました。
if os.path.exists("data/ao-1.dat"):
logininfo = open("data/ao-1.dat", "r").read().split()
if len(loginInfo[0]) > 0:
self.AccountsList.connect_1.SetText(logininfo[0])
else:
self.AccountsList.connect_1.SetText("Save")
else:
self.AccountsList.connect_1.SetText("Save")
##dupe
if os.path.exists("data/ao-2.dat"):
logininfo = open("data/ao-2.dat", "r").read().split()
if len(loginInfo[0]) > 0:
self.AccountsList.connect_2.SetText(logininfo[0])
else:
self.AccountsList.connect_2.SetText("Save")
else:
self.AccountsList.connect_2.SetText("Save")
Pythonのfor属性にループ変数を使用できる可能性はありますか? 上記のコードを 1 つの数字だけで重複させないようにしたい。
以下は動作しません:
for i in xrange(1, 3):
if os.path.exists("data/ao-" + str(i) + ".dat"):
logininfo = open("data/ao-" + str(i) + ".dat", "r").read().split()
if len(loginInfo[0]) > 0:
self.AccountsList.connect_(i).SetText(logininfo[0]) #problem
else:
self.AccountsList.connect_(i).SetText("Save") #problem
else:
self.AccountsList.connect_(i).SetText("Save") #problem
Pythonは変数を属性名として宣言しないため、そこにループを作成する方法があるか、コードを複製する必要がありますか?