Python 第一次调用函数时,如何增加字符数?
我正在进行socket编程,在这里我展示了我在pythonsocket中使用的代码,这里我从数据库中获取一些数据并进行验证,如果数据得到验证,它将启动我创建密钥的函数 在给出1的范围后,它将显示存储在数据库中的A001,但我希望当函数为第二个客户端运行时,它将递增,即A002Python 第一次调用函数时,如何增加字符数?,python,mysql,auto-increment,Python,Mysql,Auto Increment,我正在进行socket编程,在这里我展示了我在pythonsocket中使用的代码,这里我从数据库中获取一些数据并进行验证,如果数据得到验证,它将启动我创建密钥的函数 在给出1的范围后,它将显示存储在数据库中的A001,但我希望当函数为第二个客户端运行时,它将递增,即A002 import mysql.connector as mysql mydb1=mysql.connect( user = 'rajat', passwd = 'rajat',
import mysql.connector as mysql
mydb1=mysql.connect(
user = 'rajat',
passwd = 'rajat',
host = 'localhost',
database = 'master_database'
)
mycursor5=mydb1.cursor()
mycursor5.execute("SELECT Version FROM form_simpleform")
obj2 = mycursor5.fetchone()
if obj2 == ('2',):
def full_format(i):
if i < 26 * 999:
c,n = divmod(i,999) # quotient c is index of letter 0-25, remainder n is 0-998
c = chr(ord('A') + c) # compute letter
n += 1
return f'{c}{n:03}'
else:
raise OverflowError(f'limit is {26*999}')
for X in range(1):
print(full_format(X))
mycursor6 = mydb1.cursor()
sql3 = mycursor6.execute("INSERT INTO imeiserial (Passkey) VALUES ('%s')", (X))
result = mycursor6.execute(sql3)
mydb1.commit()
print('data inserted into the db')
print(mycursor6.rowcount, "record inserted.")
else:
print('NOT A PASSKEY')
你基本上有两个选择。如果这是单线程应用程序,则可以引入全局变量。如果不是,并且需要数据持久化,则可以使用Redis来递增键值。启动时,它是一个单线程应用程序,以查看函数如何工作,但之后它将是多线程应用程序。我如何在此处使用Redis递增值Port Redis;r=redis.Redishost=,port=,db=。只要在函数开始时调用r.incrmy_计数器1。如果需要获取该值,请使用r.getmy_计数器。当然,您需要启动redis服务器。好的,我将尝试使用redis获取代码。