使用Python设置密码符号时出错

时间:2017-08-30 11:24:48

标签: python

我有一个问题。我无法使用Python正确设置密码符号的值。我收到以下错误。

File "password.py", line 2
    def get_random_string(length=20, symbolgroups='"0123456789", "abcdefghijklmnopqrstuvwxyz", "!@#$%^&*():<>"'/|}{[]`\"):
                                                                                                                ^
SyntaxError: invalid syntax

我正在解释下面的代码。

def get_random_string(length=20, symbolgroups='"0123456789", "abcdefghijklmnopqrstuvwxyz", "!@#$%^&*():<>"'/|}{[]`\")

    if length is None:
        length = settings.PASSWORD_LENGTH

    r = random.SystemRandom()
    password = [r.choice(s) for s in symbolgroups]
    r.shuffle(password)
    password = password[:length]
    length -= len(password)
    symbols = ''.join(symbolgroups)
    password.extend([r.choice(symbols) for _i in xrange(length)])
    r.shuffle(password)
    return ''.join(password) 

在第一行中,我尝试将带有特殊字符的所有字母设置为符号组以生成密码,但在编辑器窗口中显示错误。在这里,我需要将所有字母,数字和特殊字符设置为symbolgroups变量。

1 个答案:

答案 0 :(得分:2)

转义字符串文字中的"

  • "foo\"bar'baz"
  • 'foo"bar\'baz'
  • """foo"bar'baz"""
  • '''foo"bar'baz'''