Форум сайта python.su
Добрый день всем, столкнулся с проблемой, что один и тот же скрипт работает по разному на разных виндах код простой процедура отправки файла на ФТП
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)
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
Отредактировано Term (Авг. 4, 2023 10:37:42)
Офлайн
https://habr.com/ru/articles/119405/
Офлайн
ZerGтут проблемы при работе с ini
https://habr.com/ru/articles/119405/
ftp.storbinary('STOR '+os.path.basename(file_name), open(file_name, "rb"))
Офлайн
Попробуй сделать
ftp.encoding = 'utf-8'
Отредактировано py.user.next (Авг. 4, 2023 12:33:34)
Офлайн