11

コード内でサーバーアドレスを渡すと正常に動作する単純なPythonクライアントとサーバーを作成していますが、ユーザーがサーバーアドレスを入力して、間違っている場合はエラーをスローできるようにしたいと考えています。以下のコードを使用すると、端末から「リスト インデックスが範囲外です」というエラー メッセージが表示されます。

server = (sys.argv[1])
serverAdd = (server, '65652') # server address and port number

誰でもこれで私を助けてくれませんか。

Python でクライアント プログラムを実行するときに、接続先のアドレスを入力してサーバーに保存できるようにしたいと考えています。「programname.py」と入力して、コマンド ラインからプログラムを直接実行します。サーバーはすでに着信接続をリッスンして実行されています。

4

1 に答える 1

16

この Python では:

import sys

print(sys.argv)

そして、このコマンドで呼び出されます:

>python q15121717.py 127.0.0.1

私はこの出力を得ます:

['q15121717.py', '127.0.0.1']

Pythonスクリプトに引数を渡していないと思います

これで、コードを少し変更して、コマンド ラインからサーバーを取得したり、何も渡されなかったときにサーバーのプロンプトを表示したりできます。この場合、次のようになります。

if len(sys.argv) > 1:
    print(sys.argv[1])
else:
    print(input("Enter address:"))
于 2013-02-27T20:44:31.723 に答える