无法使用整数连接字符串

时间:2016-12-27 05:16:31

标签: python string list int concatenation

我正在用Python编写一个脚本来生成暴力单词列表。我已经可以连接只有字符串了,但是我不能在列表中每个单词的最后连接一些随机数,因为它说我不能连接str和int对象...

代码:

wList = []

words = raw_input("[+]Insert the words that you wish: ")
outputFile = raw_input("[+]Insert the path to save the file: ")

wordList = words.split(",")

for x in wordList:
    for y in wordList:
        wList.append(x + y)
        wList.append(y + x)
        wList.append(x + "-" + y)
        wList.append(y + "-" + x)
        wList.append(x + "_" + y)
        wList.append(y + "_" + x)
        wList.append(x + "@" + y)
        wList.append(y + "@" + x)


for num in wordList:
    for num2 in wordList:
        for salt in range(1,10):
            wList.append(num + num2 + int(salt))
            wList.append(num2 + num + int(salt))

2 个答案:

答案 0 :(得分:1)

在python中,+运算符在sequence调用concat之后,sequence在运算符之前调用string之后运算符之后。在python中sequenceconcatstring函数仅适用于两个相同类型的序列,即两个字符串或两个数组。在您的代码中,您可以将此运算符用于intwList.append(str(x) + "-" + str(y))

您需要更改使用整数连接字符串的所有位置。这有两种可能的方法。

您可以将所有内容整理成字符串。例如:

wList.append("%d-%d"%(x, y))

或者您可以使用%-formatting。例如:

 try {
    JSONObject jsonObj =new JSONObject("your response string");
    String status = jsonObj.optString("status");
    String authKey = jsonObj.optString("authKey");
} catch (JSONException e) {   e.printStackTrace(); }

答案 1 :(得分:0)

您只能在Python中将string与另一个string连接起来。

将最后两行更改为:

wList.append(num + num2 + str(salt))
wList.append(num2 + num + str(salt))