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?!?
Author: Szyk Cech
Date: Thu, 04 Apr 2019 13:29
Date: Thu, 04 Apr 2019 13:29
43 lines
2549 bytes
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?!?
Author: John Doe
Date: Fri, 05 Apr 2019 14:06
Date: Fri, 05 Apr 2019 14:06
7 lines
1307 bytes
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?!?
Author: Szyk Cech
Date: Fri, 05 Apr 2019 16:19
Date: Fri, 05 Apr 2019 16:19
14 lines
1580 bytes
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?!?
Author: John Doe
Date: Fri, 05 Apr 2019 17:13
Date: Fri, 05 Apr 2019 17:13
18 lines
1760 bytes
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