Article View: pl.comp.programming
Article #216870Re: elementarne pytania z pythona
From: fir
Date: Sat, 11 Apr 2020 11:04
Date: Sat, 11 Apr 2020 11:04
101 lines
3940 bytes
3940 bytes
W dniu sobota, 11 kwietnia 2020 12:59:21 UTC+2 użytkownik Piotr Chamera napisał:
> W dniu 2020-04-11 o 12:06, fir pisze:
> > jeszcze jedno pytanke, jesli mozn, ulatwiloby mi sprawe
> >
> > to ogniem i mieczem przkonwertowalem sobie z epub na txt jakism konwerterem
> > zachowal unicode itd chyab wszystko jest ok poza faktem ze tam gdzie powinno byc jedno newline 0x0d 0x0a pwoiedzmy jest za kazdym razem 0x0a 0x0a 0x0a (trzy 0A)
> > i wiekszosc edytorow traktuje to jako 3 newliny
> >
> > jak sprawdzc czy
> > ogniem_i_mieczem_text[m] jest pojedyncza linia z 0x0a? ew jak napisac prsty konwerter w pythonie ktory by polknal plik i zamianil kazde 3 0x0A na jedno 0xA
>
> To już moja ostatnia odpowiedź dzisiaj.
>
>
> Konwersja całości, to najprościej chyba jakoś tak:
>
> s jest twoim źródłowym tekstem
>
> >>> s.replace(u"\u000a\u000a\u000a", u"\u000a")
>
> albo
>
> >>> s.replace(u"\n\n\n", u"\n")
>
> ale nie wiem, czy interpretacja \n nie zależy od systemu
>
> uwaga: to zwraca nowego stringa, nie podmienia w oryginalnym.
>
>
>
>
> A sprawdzania można zrobić np. tak:
>
> przykładowy wieloliniowy tekst:
>
> s = u"""ahjklsl
>
>
> ajkshgjkgh
>
>
> hsajhkjhskj
>
>
> hnajkhjhjl"""
>
>
> poniższe sprawdza czy podany tekst dzieli się na określone 3 części
>
> >>> m = re.match(u"(.*?)(\u000a+)(.*)", s, flags=re.DOTALL)
>
> (.*?) ta grupa dopasowuje dowolny tekst w sposób niezachłanny
> (\u000a+) ta grupa dopasowuje jeden lub więcej znaków końca linii
> (.*) tu wpychamy całą resztę tekstu
>
> i teraz możemy sprawdzić
>
> jaki był pierwszy wiersz
>
> >>> m.group(1)
> u'ahjklsl'
>
> ile znaków końca linii było po pierwszym wierszu
> >>> len(m.group(2))
> 3
> >>> m.group(2)
> u'\n\n\n'
>
> czy w tekście było coś jeszcze
> >>> len(m.group(3))
> 37
> >>> m.group(3)
> u'ajkshgjkgh\n\n\nhsajhkjhskj\n\n\nhnajkhjhjl'
ok, tnx w sumie ten plik przerobilem sobie programikiem w c
#include "green-fire.h"
int main()
{
chunk file = LoadChunk("file.txt");
int len = ChunkLength(file);
FILE *f = fopen("tile_out.txt", "wb");
for(int i=0; i<len; i++)
{
if(file.beg[i]==0xa && file.beg[i+1]==0xa) continue;
fputc(file.beg[i], f);
}
fclose(f);
return 2020;
}
poki co costam dziala ale czas odpoczac
Technical Details
Message-ID:
<09c6e32d-6112-4c03-88d1-3f31fb7ed7bf@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<60d7e74e-19ff-4601-83d2-c42e01baa1f6@googlegroups.com> <r6qalc$b4t$1@dont-email.me> <35a7e0da-aafd-48be-84e0-dfbc14674e4f@googlegroups.com> <bf7a5c3a-4d6e-4d07-8067-58e3f32a511a@googlegroups.com> <r6s2u1$a7q$1@dont-email.me> <fb261642-c7b9-45c8-bf14-1c6eaa64d578@googlegroups.com> <5a6fc0d8-7404-47ba-b150-5e650ee5858c@googlegroups.com> <r6s7u8$9ac$1@dont-email.me>Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:620a:341:: with SMTP id t1mr7992939qkm.356.1586603083063; Sat, 11 Apr 2020 04:04:43 -0700 (PDT) X-Received: by 2002:a05:620a:702:: with SMTP id 2mr8198506qkc.248.1586603082856; Sat, 11 Apr 2020 04:04:42 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Sat, 11 Apr 2020 04:04:42 -0700 (PDT) In-Reply-To: <r6s7u8$9ac$1@dont-email.me> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=5.172.255.137; posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN NNTP-Posting-Host: 5.172.255.137 References: <60d7e74e-19ff-4601-83d2-c42e01baa1f6@googlegroups.com> <r6qalc$b4t$1@dont-email.me> <35a7e0da-aafd-48be-84e0-dfbc14674e4f@googlegroups.com> <bf7a5c3a-4d6e-4d07-8067-58e3f32a511a@googlegroups.com> <r6s2u1$a7q$1@dont-email.me> <fb261642-c7b9-45c8-bf14-1c6eaa64d578@googlegroups.com> <5a6fc0d8-7404-47ba-b150-5e650ee5858c@googlegroups.com> <r6s7u8$9ac$1@dont-email.me> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <09c6e32d-6112-4c03-88d1-3f31fb7ed7bf@googlegroups.com> Subject: Re: elementarne pytania z pythona From: fir <profesor.fir@gmail.com> Injection-Date: Sat, 11 Apr 2020 11:04:43 +0000 Lines: 108 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit