TypeError: esperado str, bytes u os.PathLike objeto, no _io.BufferedReader

Estoy intentando recorrer un grupo de archivos en una carpeta en mi máquina local y cargar solo aquellos donde los nombres de los archivos contienen “Service_Areas” en mi sitio FTP utilizando este código (Python 3.6.1 32 bit, Windows 10 64 bit ):

ftp = FTP('ftp.ftpsite.org') username = ('username') password = ('password') ftp.login(username,password) ftp.cwd(username.upper()) ftp.cwd('2017_05_02') for i in os.listdir('C:\FTP_testing'): if i.startswith("Service_Area"): local_path = os.path.join('C:\FTP_testing',i) file = open(local_path,'rb') ftp.storbinary("STOR " + i, open(file, 'rb')) file.close() continue else: print('nope') ftp.quit() 

pero estoy recibiendo este error:

 Traceback (most recent call last): File "C:\Users\user\Desktop\Test1.py", line 32, in  ftp.storbinary("STOR " + str(i), open(file, 'rb')) TypeError: expected str, bytes or os.PathLike object, not _io.BufferedReader 

¿Alguna sugerencia?

Creo que tiene que ver con tu segundo elemento en storbinary . Está intentando abrir el file , pero ya es un puntero al archivo que abrió en el file = open(local_path,'rb') línea file = open(local_path,'rb') . Por lo tanto, intente usar ftp.storbinary("STOR " + i, file) .