0

次のコードを取得しました。

    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は変数を属性名として宣言しないため、そこにループを作成する方法があるか、コードを複製する必要がありますか?

4

3 に答える 3