Как создать файл .txt на удаленном сервере, используя ftplib, и поместить в него некоторую строку, используя переменную? - PullRequest
1 голос
/ 27 марта 2019

У меня есть функция для создания файла на удаленном сервере, и я хочу заполнить этот файл Entry (поле ввода). У меня вопрос, когда я использую этот код;

def createFileRemote():
    textToWrite = io.StringIO(create_file_remote_input_text.get())
    ftp.storbinary('STOR '+create_file_remote_filename.get(),textToWrite)

Я получил сообщение об ошибке,

TypeError: требуется байтоподобный объект, а не 'str'

Я пробовал что-то вроде этого;

textToWrite = io.BytesIO(b""+create_file_remote_input_text.get())

но он не объединяет str с байтами. Любое предложение ? Я хочу дать textToWrite из поля ввода. Это работает, когда я даю его из кода, подобного этому;

io.BytesIO(b"Some text")

1 Ответ

2 голосов
/ 27 марта 2019

Может быть, это решает это

def createFileRemote():
    to_bytes = bytes(create_file_remote_input_text.get(), "UTF-8")
    textToWrite = io.BytesIO(to_bytes)
    ftp.storbinary('STOR '+create_file_remote_filename.get(),textToWrite)
...