永发信息网

关于python

答案:1  悬赏:0  手机版
解决时间 2021-03-15 12:03
  • 提问者网友:辞取
  • 2021-03-15 07:11
>>>os.urandom(8)
'\xd8w\x0e2\xc2\xc3\xdb\x00'
>>>os.urandom(8).split('\x')
ValueError: invalid \x escape
为什么错了啊
最佳答案
  • 五星知识达人网友:鱼芗
  • 2021-03-15 07:55
这个生成的是8字节的密码串,有的字符是显示不出来的
for tmp in os.urandom(8):
     print tmp
#用这个代码可以看到,很多字符都是乱码,根本打不出来。
#一般都要规定随机生成字符串的范围
#比如 [a-z0-9]之类的,如果不再这个范围就丢掉,只保合法的字符
##注 一个一个字符 生成 python内码是 unicode,所以\x并不是一个两个字符,只是一个字符的一部分
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯