我正在尝试创建一个函数,该函数将生成sqlite表中尚不存在的标记。以下是我到目前为止的情况:
def generateTag(type):
elementTag = ""
charSet = ["0", "1", "2", "3", "4", "5", "6", "7", "8",
"9", "a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p", "q",
"r", "s", "t", "u", "v", "w", "x", "y", "z",
"A", "B", "C", "D", "E", "F", "G", "H", "I",
"J", "K", "L", "M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z"]
centralDBInfo = Describe(centralDBName)
rowAmount = [int(i[2]) for i in centralDBInfo]
while True:
for n in range (100):
if 62**n < rowAmount[0] or n <= 1:
for x in range(n):
randomSelection = numpy.random.randint(0,62)
elementTag += str(charSet[randomSelection])
break
tagQuery = "SELECT * FROM {t}_Base WHERE {et} EXISTS".format(t = type, et = elementTag)
rowFetch = centralCursor.execute(tagQuery)
if rowFetch == None:
return elementTag
正如你所看到的,它在某些地方非常嵌套,但我相信它能完成这项工作。然而,关于它的一些东西似乎有逻辑上的缺陷,但我不能把手指放在它上面。我将解释你在下面的代码中看到的一些含糊不清的东西的推理:
如果您有任何其他问题或意见,请询问我。