Мне нужно извлечь список файлов xml, которые находятся в файле tar.gz, который я пытаюсь прочитать.
Я пробовал это:
import os
from ftplib import FTP
def writeline(data):
filedata.write(data)
filedata.write(os.linesep)
ftp = FTP('ftp.my.domain.com')
ftp.login(user="username",passwd="password")
ftp.cwd('inner_folder')
filedata = open('mytargz.tar.gz', 'w')
ftp.retrlines('RETR %s' % ftp.nlst()[0], writeline)
Я использовал ftp.nlst()[0]
, потому что у меня есть список файлов tar.gz в моем ftp.
Похоже, что data
, который я получаю в моем writeline
обратном вызове, это какие-то странные символы, а затем filedata.write(data)
выдает ошибку:
{UnicodeEncodeError}'charmap' codec can't encode character '\x8b' in position 1: character maps to <undefined>
.
Я действительно могу использовать некоторую помощь здесь ..