Почему бы не использовать встроенный в Python ftplib ?Выглядит довольно просто, разве я что-то упускаю?
Для использования модема с Python этот поток говорит об использовании модуля pyserial .
Я никогда не использовал pyserial с модемом, но у меня был порт USB и arduino.Это было довольно просто, так что я уверен, что с некоторыми исследованиями модемной связи вы могли бы сделать это довольно легко.PySerial не поставляется с python по умолчанию, но с их сайта
[PySerial] предоставляет бэкэнды для Python, работающего на Windows, Linux, BSD (возможно, любой POSIX-совместимой системе), Jython и IronPython (.NET и Mono).
и более ранние версии существуют для MacOS и других.