from ftplib import FTP import os from configparser import ConfigParser def SendToFTP(file_name): ReadIni = ConfigParser() ReadIni.read('D:\\PythonScripts\\SendToFTP\\my.ini') #прочитаем настройки FTP FtpAddr = ReadIni.get('FTP','HOST') FtpPort = ReadIni.get('FTP','PORT') FtpUser = ReadIni.get('FTP','USERNAME') FtpPass = ReadIni.get('FTP','PASSWORD') FtpDir = ReadIni.get('FTP','FTP_DIR') ftp = FTP(FtpAddr) ftp.port = FtpPort ftp.login(FtpUser, FtpPass) ftp.cwd(FtpDir) ftp.storbinary('STOR '+os.path.basename(file_name), open(file_name, "rb")) ftp.quit() file_name = 'D:\\PythonScripts\\SendToFTP\\BrackN.zip' SendToFTP(file_name)
отправляется архив
на Windows 7 всё ок, файл отправляется без проблем, на Win2019
получаю вот такую ошибку
Traceback (most recent call last):возможно разница в версиях библиотек, подскажите как поправить?
File “E:\Python_Scripts\LoadBrack\SendFtp.py”, line 30, in <module>
SendToFTP('E:\\Python_Scripts\\LoadBrack\\BrackN.zip')
File “E:\Python_Scripts\LoadBrack\SendFtp.py”, line 26, in SendToFTP
ftp.storbinary('STOR 0000000_Z999.BRK', open(file_name, “rb”))
File “C:\Program Files\Python311\Lib\ftplib.py”, line 509, in storbinary
return self.voidresp()
File “C:\Program Files\Python311\Lib\ftplib.py”, line 259, in voidresp
resp = self.getresp()
File “C:\Program Files\Python311\Lib\ftplib.py”, line 244, in getresp
resp = self.getmultiline()
File “C:\Program Files\Python311\Lib\ftplib.py”, line 230, in getmultiline
line = self.getline()
File “C:\Program Files\Python311\Lib\ftplib.py”, line 212, in getline
line = self.file.readline(self.maxline + 1)
File “<frozen codecs>”, line 322, in decode
UnicodeDecodeError: ‘utf-8’ codec can't decode byte 0xa0 in position 24: invalid start byte
ну если неправильно отправляю, тоже подскажите))
Спасибо