Path: csiph.com!3.eu.feeder.erje.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!81.171.118.64.MISMATCH!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx24.fr7.POSTED!not-for-mail Newsgroups: pl.comp.lang.python X-Mozilla-News-Host: snews://newshosting.com:563 From: Szyk Cech Subject: =?UTF-8?Q?Osadzanie_obrazk=c3=b3w_w_Html_za_pomoc=c4=85_Pythona_-_j?= =?UTF-8?Q?edna_wersja_dzia=c5=82a_inna_nie_-_dlaczego=3f!=3f?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: pl-PL Content-Transfer-Encoding: 8bit Lines: 43 Message-ID: <7FnpE.2$wd2.0@fx24.fr7> X-Complaints-To: abuse(at)newshosting.com NNTP-Posting-Date: Thu, 04 Apr 2019 13:29:39 UTC Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com Date: Thu, 4 Apr 2019 15:29:38 +0200 X-Received-Bytes: 2289 X-Received-Body-CRC: 2710044818 Xref: csiph.com pl.comp.lang.python:141 Witam Podam pełną wersję mojej funkcji do osadzania całego obrazka w kodzie html. Skrypt wykrywa normalny odnośnik do obrazka i go wymienia na ciało kodowane w Base64. Oto kod: def gEmbedImages(aPage): lResult = aPage lRe = re.compile(r"""""", re.IGNORECASE) lMatch = lRe.search(aPage) while lMatch: if not os.path.isfile(lMatch.group(1)): raise Exception("File not found! File: {0}".format(lMatch.group(1))) f = open(lMatch.group(1), 'rb') #lBase64 = """{1}""".format(base64.b64encode(f.read()).decode('ascii').replace('\n', ''), lMatch.group(2)) lBase64 = """%s""" % (lMatch.group(2), base64.b64encode(f.read()).decode('ascii').replace('\n', '')) lResult = lResult.replace(lMatch.group(0), lBase64) lMatch = lRe.search(aPage, lMatch.end()) return lResult Moje pytanie jest takie: Dlaczego linia: #lBase64 = """{1}""".format(base64.b64encode(f.read()).decode('ascii').replace('\n', ''), lMatch.group(2)) nie działa (błędnie koduje)? A linia: lBase64 = """%s""" % (lMatch.group(2), base64.b64encode(f.read()).decode('ascii').replace('\n', '')) działa bez zarzutu?!? dzięki i pozdro Szyk Cech