🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
4 messages
4 total messages Started by Szyk Cech Thu, 04 Apr 2019 13:29
Osadzanie obrazków w Html za pomocą Pythona - jedna wersja działa inna nie - dlaczego?!?
#28657
Author: Szyk Cech
Date: Thu, 04 Apr 2019 13:29
43 lines
2549 bytes
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"""<img\s+src\s*=\s*\"(.+?)"\s+alt\s*=\s*"(.+?)"/>""", 
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 = """<img alt="{1}" 
src=”data:image/png;base64,{0}"/>""".format(base64.b64encode(f.read()).decode('ascii').replace('\n', 
''), lMatch.group(2))
       lBase64 = """<img alt="%s" src="data:image/png;base64,%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 = """<img alt="{1}" 
src=”data:image/png;base64,{0}"/>""".format(base64.b64encode(f.read()).decode('ascii').replace('\n', 
''), lMatch.group(2))

nie działa (błędnie koduje)?
A linia:

       lBase64 = """<img alt="%s" src="data:image/png;base64,%s"/>""" % 
(lMatch.group(2), 
base64.b64encode(f.read()).decode('ascii').replace('\n', ''))

działa bez zarzutu?!?

dzięki i pozdro
Szyk Cech
Re: Osadzanie obrazków w Html za pomocą Pythona - jedna wersja działa inna nie - dlaczego?!?
#28658
Author: John Doe
Date: Fri, 05 Apr 2019 14:06
7 lines
1307 bytes
On 2019-04-04, Szyk Cech <szykcech@spoko.pl> wrote:
> Moje pytanie jest takie:
> Dlaczego linia:
>        #lBase64 = """<img alt="{1}"


# hash w pythonie oznacza komentarz, usunac "#" sprzed lbase64?
Re: Osadzanie obrazków w Html za pomocą Pythona - jedna wersja działa inna nie - dlaczego?!?
#28659
Author: Szyk Cech
Date: Fri, 05 Apr 2019 16:19
14 lines
1580 bytes
W dniu 05.04.2019 o 16:06, John Doe pisze:
> On 2019-04-04, Szyk Cech <szykcech@spoko.pl> wrote:
>> Moje pytanie jest takie:
>> Dlaczego linia:
>>         #lBase64 = """<img alt="{1}"
> 
> 
> # hash w pythonie oznacza komentarz, usunac "#" sprzed lbase64?
> 

Ha! Ha! Ha!
Może jakieś mądrzejsze powody...
Ta linia jest teraz zakomentowana bo nie działa - pracuję na kolejnej 
linii która działa...
Re: Osadzanie obrazków w Html za pomocą Pythona - jedna wersja działa inna nie - dlaczego?!?
#28660
Author: John Doe
Date: Fri, 05 Apr 2019 17:13
18 lines
1760 bytes
On 2019-04-05, Szyk Cech <szykcech@spoko.pl> wrote:
> W dniu 05.04.2019 o 16:06, John Doe pisze:
>> On 2019-04-04, Szyk Cech <szykcech@spoko.pl> wrote:
>>> Moje pytanie jest takie:
>>> Dlaczego linia:
>>>         #lBase64 = """<img alt="{1}"
>> 
>> 
>> # hash w pythonie oznacza komentarz, usunac "#" sprzed lbase64?
>> 
>
> Ha! Ha! Ha!
> Może jakieś mądrzejsze powody...
> Ta linia jest teraz zakomentowana bo nie działa - pracuję na kolejnej 
> linii która działa..

Haha, niestety wrzucajac taki kod zwraca sie pierwsze co na takie bledy,
bo takich bledow jest od diabli.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads