繁体   English   中英

Jython随机字符串生成

[英]Jython random string generation

所以,我需要创建一个方法,在jython中返回基于给定长度的随机字符串。 如果我可以实现python random会很容易,但是我找不到办法做到这一点,因为在每个随机例子中我都发现使用java随机类而不是python。 这是代码位:

  def getrstr (self, length):
    from java.util import Random
    import string
    chars = string.letter + string.digits
    str = ''
    for i in range(1, (length+1)):
      ind = random.nextInt(62) #there should be 62 charicters in chars string
      c = #this is the part where i should get radom char from string using ind
      str = str + c
    return str

我正在尝试根据包含我需要的所有字符的字符串创建一个字符串。 我只是不能找到一种方法来索引字符串中的字符串,就像我在C#中一样。

任何想法如何做甚至可能导入python随机类?

c = chars.charAt(ind);

JavaDocs指导方式。

试试这个,它适用于Jython:

def getrstr(self, length):
    import random, string
    seq = string.letters + string.digits
    randomstr = []
    for i in xrange(length):
        randomstr.append(random.choice(seq))
    return ''.join(randomstr)

请注意,我使用的是Jython的random模块,而不是Java的Random类。 一个更短的版本,使用列表推导与模块级导入(根据pep-8):

import random, string

def getrstr(self, length):
    seq = string.letters + string.digits
    return ''.join(random.choice(seq) for _ in xrange(length))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM