【问题标题】:How to type random string in Python如何在 Python 中输入随机字符串
【发布时间】:2014-04-25 02:25:18
【问题描述】:

我有一个 Python 脚本,可以在我的计算机上模拟键盘按下。最后一个函数的形式为key(hexcode),其中hexcode 是密钥的十六进制代码。我想将它与“随机”函数结合起来,这样我就可以在程序中输入随机字符串。例如,如果我有字符串
a = string.ascii_uppercase
我想写一个字符串的随机元素,我需要做的就是写
print random.choice(a)

但是,如果我尝试将 type 函数与 random 函数结合起来,我会得到很多随机错误。例如,尝试在 Microsoft Word 中键入 6 个大写字母的随机字符串。任何帮助表示赞赏!

【问题讨论】:

  • 请出示您的代码。
  • 除非你出于某种原因需要hexcode,否则你会让这变得比需要的复杂得多。如果你想要字母选择,你只需要一个带有 'abcedfg...z' 的字符串。
  • @AndyG 与此线程的第一个答案中的相同:stackoverflow.com/questions/13564851/generate-keyboard-events
  • @Paul 我不认为你明白。导入的模块需要十六进制代码,但这不是重点。如果您有任何输入随机字符串的方法,我想听听。
  • @eddybob123 我可能不明白。就像 AndyG 所问的那样,发布更多代码可能会帮助人们帮助您。

标签: python random


【解决方案1】:

假设 hexcode 是一个简单的 2 位“数字”,数字从 0 到 F,这应该可以正常工作:

def rand_hexcode():
    return '0123456789ABCDEF'[random.randint(0, 15)] + '0123456789ABCDEF'[random.randint(0, 15)]

如果您只想要 ASCII 范围的十六进制代码(0-127 十进制,或 0x00 到 0x7F 十六进制),则对第一个数字使用截断的字符串:

def asciirand_hexcode():
    return '01234567'[random.randint(0, 8)] + '0123456789ABCDEF'[random.randint(0, 15)]

【讨论】:

    猜你喜欢
    • 2022-09-25
    • 1970-01-01
    • 2017-03-19
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多