クライアントからサーバーにソケットを介してコマンドを送信して、サーバーでコマンドを実行し、出力を返信しようとしています。コマンドがオプションなしの 1 つの単語である場合、すべてが正常に機能します。ただし、次のようなオプションを使用するとnetstat -an or dir c:\
、コマンドが認識されず、出力から、実行前にコマンドが引用符で囲まれているように見えます ('"netstat -an"'
内部コマンドまたは外部コマンドとして認識されません)。エラーチェックを実行する前に出力したため、この方法で変数に保存されていないことはわかっています。助けてください。私のコードは次のようになります。
commout = subprocess.Popen([data], stdout=subprocess.PIPE, shell=True)
(out, err) = commout.communicate()