Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2018 22:12:52

Sakera
Зарегистрирован: 2018-12-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Автоматическое отправление файлов на ftp-сервер

Всем привет. Помогите,пожалуйста,сделать следующее. Вставляю в малинку card-reader, в который потом вставляю sd-карту с фотографией. Необходимо ,что бы эта фотография автоматически при вставки sd-карты отправлялась на сервер по ftp протоколу. Желательно,что бы последнее фото отправлялось,либо фотку отправил - удалил с карты и по кругу, вставил-отправил-удалил. На малине стоит rasbian , пробую писать на python.
Мой максимум

 import ftplib
import os
ftp = ftplib.FTP('хххх','хххх', 'ххххх')
ftp.cwd('Backpack')
data = ftp.retrlines('LIST') 
print(data)
def upload(ftp, file):
    ext = os.path.splitext(file)[1]
    ftp.storbinary("STOR " + file, open(file, "rb"), 1024)
upload(ftp, "Novgu.jpg")
Пока что две проблемы:
1. не понимаю,как прописать путь к файлу,если он расположен не со скриптом
2. как сделать автоматический запуск скрипта при вставки sd-карты
Помогите,пожалуйста,а то мне конец(

Офлайн

#2 Дек. 5, 2018 12:37:13

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Автоматическое отправление файлов на ftp-сервер

1. Путь к файлу на карте? Если так и используется одна и та же карта памяти, то можно смело прописать его в fstab или что там отвечает за монтирование дисков/разделов в малинке. Тогда монтирование будет идти по одному и тому же пути.
2. На убунту есть udev, если не ошибаюсь, и там в правилах прописывается действие, которое необходимо произвести при подключении конкретного устройства. Возможно, что-то подобное есть и в малинке. Поройся в самой системе.

Отредактировано Rafik (Дек. 5, 2018 13:21:32)

Офлайн

#3 Дек. 5, 2018 18:27:48

Sakera
Зарегистрирован: 2018-12-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Автоматическое отправление файлов на ftp-сервер

Rafik
1. Путь к файлу на карте? Если так и используется одна и та же карта памяти, то можно смело прописать его в fstab или что там отвечает за монтирование дисков/разделов в малинке. Тогда монтирование будет идти по одному и тому же пути.
Да дело в том,что python берёт файл только оттуда,где находится скрипт. Я не понимаю,как сделать так,что бы файл он брал из указанного мною пути.

Офлайн

#4 Дек. 5, 2018 19:14:04

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Автоматическое отправление файлов на ftp-сервер

Надо дописать путь к файлу (дать полное имя файла), т.е. прописать папку от корня до файла и слить его с именем файла. Например:

 import os
# Получаем полное имя файла 'file.jpg', находящегося
# в папке '/mnt/sd_karta'
full_filename = os.path.join('/mnt/sd_karta', 'file.jpg')
Для передачи файла на ftp используем полученное таким способом имя. Если путь был прописан правильно и там есть указанный файл - скрипт подцепит его.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version