2017-01-13 10 views
0

私はサーバーがオンラインかどうかを確認するパケット送信ツールを構築しています。さて、私は、現在送信されているパケットの量を表示しながら、選択したサーバーにTCPパケットを送信します。私は私が望むことをする以下のスクリプトを持っていますが、それはあまり働いていません。 ...また、私は同じことを達成するために変更しようとしてきたいくつかのコードを持っているが、それは、ディスプレイの異なるタイプである文字列の出力をフラッシュする[Python]

マイコード:

nums = [] 
nums.append(x + 1) 
_range = ['_'] 

for _ in _range: 
    for x in nums: 
     # sys.stdout.write("\b Packet [ %s ] sent!" % x) 
     sys.stdout.write(" Packet [ %s ] sent!" % x) 
     sys.stdout.flush() 
     time.sleep(.5) 
    pass 

と正しいコード:

#!/usr/bin/env python 

import sys 
import time 


print "loading...\\", 
while True: 
    syms = ['\\', '|', '/', '-'] 
    bs = '\b' 

    for _ in range(5): 
     for sym in syms: 
      sys.stdout.write("\b%s" % sym) 
      sys.stdout.flush() 
      time.sleep(.5) 
    pass 

print("\n") 

リアルタイムで送信されたパケットの量を表示する以外は、正しいコードと同じものが必要です。例:

パケット[3]送信!

(前TXTクリア)

パケット[4]送信!

(前回TXTはクリア)

パケット[5]送ら!

(クリア前のTXT)ように

と...

は、私はあなたが私がここに描写しようとしているものを見ることができると思います。そうでない場合は、もっと情報をリクエストしてください。私は説明するために最善を尽くします。この問題は申し訳ありませんが、私はそれが簡単な修正だと確信していますが、私はまだPythonを正直に学んでいます。

答えて

1

はあなたのsys.stdout.write\rリターンを配置する必要があります。

sys.stdout.write(" \rPacket [ %s ] sent!" % x) 

その方法は、次の印刷がそれを上書きします。

+0

これは機能しました。本当にありがとう! – BlackVikingPro

関連する問題