0

スクリプトで問題に直面しています。リスト内に文字列を格納し、これらの文字列でこのリストをインクリメントしたいと考えています。文字列はサーバーの応答から取得されます。

これは、Python では次のように再開できます。

import socket
from socket import *

host = "10.0.0.23",445
def Test(host):
    s = socket(AF_INET, SOCK_STREAM)
    s.connect(host)  
    s.settimeout(30) 
    string ="Test"
    s.send(string)
    data = s.recv(2048)
    StringToStore = data[0:5]#Important: Values returned are random.
    return StringToStore

def ListIncrement(T):
    for x in range(5):  
        ListStr = Test(host)
    ListValue = list(ListStr)
    return ListValue

Testing = ListIncrement(Test)
print "Testing if ListIncrement returned a list of 5 differents strings :", Testing

これは、私が把握できないいくつかの理由で明らかに機能していませんが、ListIncrement(T) に返してもらいたいのは、次のような配列です。

['1234','4321','3214','2314','4322']

よろしくお願いします!

4

1 に答える 1

2

あなたはおそらく次のようなことをするつもりでした:

    ListValue = []
    for x in range(5):  
        ListValue.append(Test(host))
    return ListValue

これは、リスト内包表記としても実行できます。

return [Test(host) for x in range(5)]
于 2012-12-07T16:40:39.333 に答える