【发布时间】:2018-05-21 02:46:12
【问题描述】:
此代码输出一串随机生成的字符。为了 例如:V86Ijgh(!y7l0+x
import string
import random
password = ''.join([random.choice(string.printable) for i in range(15)])
print(password)
在出现\n等转义字符的情况下
V86Ijg\n!y7l0+x
并创建输出:
V86Ijg
!y7l0+x
因为它初始化了一个新行 而不是打印出来:
V86Ij\n(!y7l0+x
像以前一样。
避免转义字符的预期输出(例如创建新行、制表符等)被解释的最佳方法是什么?我无法选择输入,因为它是随机的。我想知道如何以原始形式输出字符串而不删除原始字符串中的字符。我希望密码在生成时显示出来。
【问题讨论】:
-
传递您认为可以接受的字符列表,而不是使用
string.printable。 -
您可以使用字符串的
repr()来打印我们的特殊字符。
标签: python python-3.x random line-breaks password-generator