Найти - Пользователи
Полная версия: UnicodeEncodeError: 'latin-1' codec can't encode characters in position
Начало » Python для новичков » UnicodeEncodeError: 'latin-1' codec can't encode characters in position
1
fil23
Добрых суток,

Пытаюсь запустить скрипт загрузки файла PDF на FTP сервер, но когда я выставляю имя файла в латинице, то получаю ошибку вида

 Traceback (most recent call last):
  File "C:\ConvertWordDocumentToPDF (PowerShell)\script.py", line 70, in <module>
    ftpcon.storbinary('STOR ' + nameFilePDF.decode('utf-8'), fobj, 1024)  #загружаем файл на ФТП сервер
  File "C:\Users\severin.adm\AppData\Local\Programs\Python\Python36-32\lib\ftplib.py", line 504, in storbinary
    with self.transfercmd(cmd, rest) as conn:
  File "C:\Users\severin.adm\AppData\Local\Programs\Python\Python36-32\lib\ftplib.py", line 399, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "C:\Users\severin.adm\AppData\Local\Programs\Python\Python36-32\lib\ftplib.py", line 365, in ntransfercmd
    resp = self.sendcmd(cmd)
  File "C:\Users\severin.adm\AppData\Local\Programs\Python\Python36-32\lib\ftplib.py", line 272, in sendcmd
    self.putcmd(cmd)
  File "C:\Users\severin.adm\AppData\Local\Programs\Python\Python36-32\lib\ftplib.py", line 199, in putcmd
    self.putline(line)
  File "C:\Users\severin.adm\AppData\Local\Programs\Python\Python36-32\lib\ftplib.py", line 194, in putline
    self.sock.sendall(line.encode(self.encoding))
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 6-7: ordinal not in range(256)


Сам код прост.

                 ftpcon = ftplib.FTP('cloud.biz')   	#указыаем сервер FTP
                ftpcon.login('ftpmuser', '12345667')		#указываем логин и пароль для подключения к серверу FTP 
                pdf_path = BufFolder + nameFilePDF			#путь до созданного файла ПДФ
	
                ftpcon.cwd(CloudFolder)  					#обращаемся к дирректории на ФТП сервере
                with open(pdf_path, 'rb') as fobj:
                   ftpcon.storbinary('STOR ' +'фаил.pdf', fobj, 1024)  #загружаем файл на ФТП сервер			   
                ftpcon.quit()   							#закрываем ФТП соединение  

Если я использую английские символы то все ОК
fil23
зарешал
 ftpcon.encoding = 'utf-8'
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