将我的部分输出代码更改为 python 中的字母数字

Changing a part of my output code to alphanumerics in python

我有一个脚本,它结合了一个随机字符串和一个时间戳 -

def randomStringDigits(stringLength=6):
    """Generate a random string of letters and digits """
    lettersAndDigits = string.ascii_letters + string.digits
    return ''.join(random.choice(lettersAndDigits) for i in range(stringLength))

letters = string.ascii_uppercase

import datetime
# Current time
now = datetime.datetime.now()
datestr = now.strftime("%m%d%H%M%Y")

rdmCode = randomStringDigits(6) + datestr

我想将月份和小时更改为他们的字母数字伙伴,也就是 01=a、02=b 等。

我希望月份大写,小时小写。例如,此代码将打印 - dtwk0T040713492020 我希望它是 dtwk0TD07m492020

我是编码新手,所以不确定应该从哪里开始,我应该将字符串拆分成数组吗?

提前感谢您的帮助。

创建字典,将月份数字与字母配对:

mdict={1:'A',2:'B'}

你只需在中间添加字母:

datestr = now.strftime(mdict[now.month]+"%mm%d%H%M%Y")

注意:如果数字<-->字母关系是字母顺序你可以使用:

chr(ord('@')+number) #Capital letters
chr(ord('`')+number) #lower case letters

也就是说,你可以使用这样的东西:

datestr = now.strftime(chr(ord('@')+now.month)+"%d"+chr(ord('`')+now.hour)+"%M%Y")