我得到以下代码:
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 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 不遵循将变量声明为属性名称,所以它有什么方法可以在那里进行循环,否则我将不得不复制代码?