2012-10-16 3 views
2

Je veux envoyer des fichiers sur le réseau, mais tous les outils et commandes qui m'ont été proposés ne me permettent pas d'automatiser le processus. Maintenant je me souviens qu'il y a une fonction dans java qui vous permet de convertir le fichier en json base64 string, alors cette chaîne sera envoyée sur le réseau, ensuite la machine qui le recevra reconstruira ceci en fichier. Je me demande si je pourrais faire ce genre de choses en python?Convertir un fichier en chaîne puis Reconstruire cette chaîne et en faire à nouveau un fichier

Des idées? Merci!

+0

@ Brian - En fait, il a été indiqué dans le paragraphe 2. J'ai un fichier (de différents types) et je veux convertir cela en chaîne, envoyer cette chaîne sur le réseau, puis la machine qui recevra cela va reconstruire cette chaîne dans le fichier à nouveau. Je me demande si je pourrais le faire en python. –

Répondre

3

bien, la lecture d'un fichier et d'écrire un fichier sont faciles:

#read from a file 
with open("path/to/file", "rb") as read_file: 
    contents = read_file.read() 
#write to a file 
with open("path/to/file", "wb") as write_file: 
    write_file.write(contents) 

et pour l'encodage base64, regardez les python docs

envoi de données sur une connexion est assez simple, et vous pouvez le faire dans de nombreuses méthodes - je ne vais pas le résoudre ici, mais je vais vous donner une liste des méthodes que vous pouvez utiliser:

est ici un exemple avec prise de http://wiki.python.org/moin/TcpCommunication

import socket 

TCP_IP = '127.0.0.1' 
TCP_PORT = 5005 
BUFFER_SIZE = 1024 
MESSAGE = "Hello, World!" 

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.connect((TCP_IP, TCP_PORT)) 
s.send(MESSAGE) 
data = s.recv(BUFFER_SIZE) 
s.close() 

print "received data:", data 
+0

Il semble que la première solution que vous avez donnée est applicable uniquement aux fichiers texte? (Lire à partir d'un fichier && écrire dans un fichier) Je voudrais préciser que je veux convertir des fichiers de type différent, qui comprend apk, exe, etc. Merci :) –

+0

Je l'ai essayé et ça marche! Je vous remercie! : D –

+0

vous pouvez éventuellement ajouter un 'b' pour faire le fichier lire des octets ou écrire des octets. c'est tout python de base, et facile à trouver sur une recherche google rapide. –

Questions connexes