2017-11-28 2 views
0

Ich erstelle eine Datei, die Sie Dateien an einen Remote-Ubuntu-Server senden können. jedoch, wenn ich den Namen senden, ich drucke und es ist nur "b ''" Wie kann ich es machen, damit ich die Datei öffnen kann?Benennen einer Datei in Python mit Sockets

Client.py

import socket 
with socket.socket() as s: 
    s.connect(('139.59.173.187',8000)) 
    with open('User.txt','rb') as f: 
     s.sendall(f.read()) 
    name = input("What would you like it to be saved as?") 
    s.send(name) 

Server.py

import socket 
with socket.socket() as s: 
    s.connect(('139.59.173.187',8000)) 
    with open('User.txt','rb') as f: 
     s.sendall(f.read()) 
    name = input("What would you like it to be saved as?") 
    s.send(name) 

Vielen Dank im Voraus

`

+0

Die Dateien _server.py_ und _client.py_ sind identisch. – javaPlease42

Antwort

0
  1. Ihr beide server.py und client.py Dateien sind die gleichen . Ich denke, du hast sie fälschlicherweise kopiert.
  2. über Problem:
  3. versuchen, den Namen zuerst auf den Remote-Server

  4. clients.py (in python3)

    import socket 
    
    with socket.socket() as s: 
        s.connect(('127.0.0.1',22599)) 
    
        name = input("What would you like it to be saved as?") 
    
        s.send(name.encode('utf-8')) 
    
        with open('xyz.txt','rb') as f: 
         s.sendall(f.read()) 
    
  5. server.py (in python2.7) senden

    import socket # Import socket module 
    s = socket.socket()   
    host = '127.0.0.1' #Ge Local Machine 
    port = 22599    
    s.bind((host, port)) # Bind to the port 
    s.listen(3) #wait for client to join 
    while True: 
        c, addr = s.accept()  
        print 'Connection Accepted From',addr 
        print "File is comming ...." 
        file = c.recv(1024)  #get file name first from client 
        #opening file first 
    
        f = open(file,'wb')  #open that file or create one 
        l = c.recv(1024)   #get input 
        while (l): 
    
         print "Receiving...File Data" 
         f.write(l)   #save input to file 
         l = c.recv(1024)  #get again until done 
    
        f.close() 
    
    c.send('Thank you for connecting') 
    c.close() 
    
  6. Danke

+0

Vielen Dank dafür Ich dachte dies aber wusste nicht. Danke vielmals –

Verwandte Themen