How to Generate Random Strings With Dash In-Between in Python

If you need to generate a random string that looks something like this: VUNBXJ-230411, then you can use the following random generator:

import random, string

def generate_random_string_with_dash():
    rand = "{0}-{1}".format(''.join(random.choice(string.ascii_uppercase) for x in range(6)),
                            ''.join(random.choice(string.digits) for x in range(6)))
    return rand

You simply call the above as follows:

print( generate_random_string_with_dash() )
# JJXFNS-420809

If you need to adjust the length of string A and B, then you can change the value in the range above from something other than 6.