Python

Как отправить файл с одного компьютера на другой через Python

Если оба компьютера находятся в одной локальной сети, самый простой способ передать файл через Python — поднять временный HTTP-сервер в папке с файлом

На компьютере, где лежит файл

python -m http.server 8000

На втором компьютере откройте в браузере

http://IP_первого_компьютера:8000/

И скачайте файл обычным кликом

Это не «мессенджер на Python», но для передачи txt, csv, zip или небольшого архива в одной сети способ очень удобный

Как узнать IP первого компьютера

На macOS и Linux можно попробовать

ipconfig getifaddr en0

Или

ifconfig

На Windows

ipconfig

Ищите IPv4-адрес вроде

192.168.1.25

Если на первом компьютере файл data.txt, а IP 192.168.1.25, на втором компьютере адрес будет таким

http://192.168.1.25:8000/data.txt

Пример с папкой

Создайте папку send_file_test

send_file_test/
  data.txt

В файле data.txt напишите

Привет, это файл, переданный через Python

Откройте терминал в этой папке и запустите

python -m http.server 8000

В консоли появится сообщение, что сервер запущен. Пока терминал открыт, второй компьютер может скачать файл

Чтобы остановить сервер, нажмите Ctrl + C

Как скачать файл на втором компьютере через Python

Можно скачать файл не браузером, а Python-скриптом

Установите requests

python -m pip install requests

Код на втором компьютере

import requests

url = "http://192.168.1.25:8000/data.txt"
response = requests.get(url, timeout=10)
response.raise_for_status()

with open("received_data.txt", "wb") as file:
    file.write(response.content)

print("Файл сохранен")

Замените IP на адрес вашего первого компьютера

Почему режим "wb": мы записываем байты. Так код подойдет не только для txt, но и для картинок, архивов, PDF

Важное ограничение по безопасности

python -m http.server открывает доступ к файлам текущей папки для устройств в сети. Не запускайте его в папке с личными документами, паролями, ключами и рабочими секретами

Создайте отдельную папку и положите туда только тот файл, который хотите передать

После передачи остановите сервер через Ctrl + C

Если компьютеры не в одной сети

Если один компьютер дома, а другой в другой сети, простой http.server обычно не подойдет. Роутер, NAT и firewall не пропустят подключение напрямую

Тогда лучше использовать

  • облачное хранилище
  • SFTP/SSH, если есть сервер
  • VPN между компьютерами
  • временный backend/API, если это часть учебного проекта
  • мессенджер или почту, если задача бытовая

Писать свой «интернет-передатчик файлов» с нуля — не лучшая первая задача. Там быстро появляются авторизация, безопасность, ограничения размера, повторная загрузка и шифрование

Простой сервер на Flask: когда нужен

Если нужно не просто скачать файл, а загрузить файл с одного компьютера на сервер, можно сделать маленький Flask-пример. Но для первого раза это уже сложнее, чем http.server

Идея такая

  • один компьютер запускает веб-приложение
  • второй открывает форму загрузки
  • файл отправляется через браузер
  • сервер сохраняет файл в папку

Для учебной передачи в локальной сети http.server почти всегда проще

Частые ошибки

Страница не открывается на втором компьютере

Проверьте

  • оба компьютера в одной сети Wi-Fi или LAN
  • IP указан правильно
  • порт 8000 не заблокирован firewall
  • сервер запущен в терминале
  • вы не закрыли терминал после запуска

Открывается не та папка

Сервер показывает ту папку, из которой вы его запустили. Остановите сервер, перейдите в нужную папку и запустите снова

cd path/to/folder
python -m http.server 8000

Файл скачался, но русские буквы выглядят странно

Если вы скачали txt и открыли его в редакторе, проблема может быть в кодировке. Сохраняйте файл в UTF-8

В Python для текста используйте

with open("data.txt", "w", encoding="utf-8") as file:
    file.write("Привет")

Мини-задача

Сделайте передачу файла в два шага

На первом компьютере

mkdir transfer-test
cd transfer-test
echo "hello from python server" > message.txt
python -m http.server 8000

На втором компьютере скачайте файл через браузер или через Python-скрипт с requests

После проверки остановите сервер на первом компьютере

Что почитать дальше по Python

Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x