Найти - Пользователи
Полная версия: Автоматическое отправление файлов на ftp-сервер
Начало » Python для новичков » Автоматическое отправление файлов на ftp-сервер
1
Sakera
Всем привет. Помогите,пожалуйста,сделать следующее. Вставляю в малинку 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-карты
Помогите,пожалуйста,а то мне конец(
Rafik
1. Путь к файлу на карте? Если так и используется одна и та же карта памяти, то можно смело прописать его в fstab или что там отвечает за монтирование дисков/разделов в малинке. Тогда монтирование будет идти по одному и тому же пути.
2. На убунту есть udev, если не ошибаюсь, и там в правилах прописывается действие, которое необходимо произвести при подключении конкретного устройства. Возможно, что-то подобное есть и в малинке. Поройся в самой системе.
Sakera
Rafik
1. Путь к файлу на карте? Если так и используется одна и та же карта памяти, то можно смело прописать его в fstab или что там отвечает за монтирование дисков/разделов в малинке. Тогда монтирование будет идти по одному и тому же пути.
Да дело в том,что python берёт файл только оттуда,где находится скрипт. Я не понимаю,как сделать так,что бы файл он брал из указанного мною пути.
Rafik
Надо дописать путь к файлу (дать полное имя файла), т.е. прописать папку от корня до файла и слить его с именем файла. Например:
 import os
# Получаем полное имя файла 'file.jpg', находящегося
# в папке '/mnt/sd_karta'
full_filename = os.path.join('/mnt/sd_karta', 'file.jpg')
Для передачи файла на ftp используем полученное таким способом имя. Если путь был прописан правильно и там есть указанный файл - скрипт подцепит его.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB