No sé si esto se ha respondido antes (miré en línea pero no pude encontrar uno), pero ¿cómo puedo enviar un archivo (.exe si es posible) a través de una red a otra computadora que está conectada a la red ? Probé enchufes pero solo pude enviar cadenas y traté de aprender ftplib pero no lo entiendo del todo o si ftp es incluso lo que estoy buscando, así que estoy completamente parado. Cualquier entrada es apreciada (incluso más si alguien puede explicar FTP, ¿es como un socket? Todos los ejemplos que he visto no tienen un programa de servidor donde el cliente puede conectarse.)¿Cómo transferir un archivo entre dos computadoras conectadas en python?
Respuesta
un código de ejemplo simplista para el lado de envío:
if os.path.exists(df):
with open(df, 'rb') as f:
packet = f.read(blocksize)
while packet != '':
conn.send(packet)
packet = f.read(blocksize)
Dónde:
df = 'path/to/data/file'
blocksize = 8192 # or some other size packet you want to transmit.
# Powers of 2 are good.
conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ok gracias, ¿entonces no se necesita FTP? Todavía no entiendo realmente para qué se usa – Baboon
@Baboon - FTP es un protocolo especializado para la transferencia de archivos, sí. Incluye una serie de conveniencias que los clientes/servidores acuerdan - reconocimientos, actualizaciones de estado, reintentos, concurrencia, etc. Puede leer la especificación completa en este RFC: https://www.ietf.org/rfc/rfc959.txt.Sin embargo, FTP no es la única forma de transferir un archivo, y usar sockets para transmitir los datos es definitivamente posible. Por lo general, el Servidor y el Cliente necesitan acordar un vocabulario/diálogo y saber cómo acordar cuándo se ha transferido completamente el archivo. –
A. Yo uso SimpleHTTPServer
por esto a veces:
python -m SimpleHTTPServer
... que serviría los archivos en el directorio actual en el puerto 8000. Abra el navegador web en otro ordenador y descargar lo que quieras.
conocer la dirección IP de su ordenador, puede utilizar (en Ubuntu) ifconfig, por ejemplo:
$ ifconfig
enp0s31f6 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:10.0.0.3 Bcast:10.0.0.255 Mask:255.255.255.0
Luego, en el otro ordenador, se envía al navegador: http://10.0.0.3:8000.
B. Si tiene SSH habilitado, puede usar paramiko para conectar y transferir SFTP lo que desee.
+1 para obtener dos valiosos conocimientos que acaba de agregar a mi repertorio. – Thanatos
Echa un vistazo a paramiko. Puede hacer scp y sftp.
ZeroMQ ayuda a reemplazar los zócalos.
Puede enviar un archivo completo en un solo comando.
Un ZMQ 'parte' se puede escribir en cualquier idioma principal y por un software impulsado por ZMQ dado, que no importa lo que el otro extremo escrito en
De su sitio:.
Proporciona conectores que transportan mensajes completos a través de varios transportes , como en proceso, entre procesos, TCP y multidifusión. Puede conectar tomas N-a-N con patrones como fanout, pub-sub, tarea distribución, y solicitud-respuesta.
- 1. Crear conexión entre dos computadoras en python
- 2. ¿La forma más rápida de enviar paquetes entre dos computadoras conectadas?
- 3. ¿Cómo puedo enviar cadenas entre dos computadoras?
- 4. Comunicación entre dos computadoras usando el socket python
- 5. Dos computadoras encontrándose entre sí a través de Internet
- 6. Sincronización (de relojes) entre dos computadoras remotas
- 7. La forma más fácil de transferir datos por Internet, Python
- 8. ¿Cómo transferir "datos" entre dos dispositivos (Android, iPhone)?
- 9. ¿Cómo puedo transferir datos entre dos aplicaciones delphi a través de Internet?
- 10. Enchufes entre computadoras
- 11. use hg para sincronizar mi proyecto entre mis dos computadoras
- 12. Enviando mensajes entre computadoras
- 13. Transferir archivo desde HDFS
- 14. Lista de la dirección IP de todas las computadoras conectadas a una sola LAN
- 15. Migración de virtualenv y Github entre computadoras
- 16. Transferir la configuración de Python a través de diferentes PC
- 17. Transferir archivos entre Amazon EC2 y S3
- 18. ¿Cómo compartir actualizaciones en tiempo real en un sitio web entre usuarios en diferentes computadoras?
- 19. Cómo transferir un archivo de URL a Amazon S3
- 20. Diferencia entre dos fechas en Python
- 21. Diferencia entre un informático y un programador de computadoras
- 22. Días entre dos fechas en Python
- 23. ¿Cómo puedo sincronizar mi configuración de Resharper entre computadoras?
- 24. ¿Cómo funciona un programador en varias computadoras?
- 25. Transferir datos grandes entre aplicaciones .net en la misma computadora
- 26. repetidamente extraer una línea entre dos delimitadores en un archivo de texto, Python
- 27. Linux Zero-Copy: transferir páginas de memoria entre dos procesos con vmsplice
- 28. Desarrollar la misma aplicación en dos computadoras diferentes
- 29. leyendo un archivo en python
- 30. git sincronización del repositorio entre computadoras, cuando se mueve?
Es ciertamente posible hacer esto con enchufes normales. ¿Qué intentaste? –
Debería usar 'scp' o incluso' rsync' – wim