Textové soubory – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Textové soubory – Python – Fórum – Programujte.comTextové soubory – Python – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
27. 1. 2021   #1
-
0
-

Ahoj,

chtěla bych poprosit o pomoct. Mám textový soubor (data.txt). Tento soubor obsahuje v textu i název dalšího textového souboru (***.txt). Úkolem je najít název v textu, vytvořit z něj textový soubor pro zápis a zapsat do něj text ze souboru data.txt ovšem bez názvu souboru, který jsme v něm původně hledali. 

Příklad výstupu

Data.txt : Data jsou v souboru cislo.txt i s informacemi.

Cislo.txt : Data jsou v souboru i s informacemi.

Dokážu dát základ dohromady, ale nejde mi vyhledat celý název souboru v textu.

Děkuji moc za pomoc. :)

Nahlásit jako SPAM
IP: 185.91.165.–
gna
~ Anonymní uživatel
1891 příspěvků
28. 1. 2021   #2
-
0
-

To záleží na tom, co probíráte a na jakých znalostech máš stavět.

Můžeš text rozdělit na slova (str.split), najít pozici podřetězce (str.find), použít regex, ... Upřesni.

Nahlásit jako SPAM
IP: 213.211.51.–
28. 1. 2021   #3
-
0
-

#2 gna
Ahoj, 

python se učím teprve od podzimu, takže znalosti jsou opravdu základní. Prošli jsme klasické základy : datové typy, smyčky, podmínky, funkce, datové třídy a textové soubory. 

Zpracování kódu je zcela na našem výběru. Co dokážeme vymyslet a najít. Použití modulů je také v pořádku, ale je preferováno spíše řešení bez nich. 

Nahlásit jako SPAM
IP: 185.91.165.–
gna
~ Anonymní uživatel
1891 příspěvků
28. 1. 2021   #4
-
0
-

   

>>> radek = 'Data jsou v souboru cislo.txt i s informacemi.'
>>> 
>>> 
>>> radek.split()
['Data', 'jsou', 'v', 'souboru', 'cislo.txt', 'i', 's', 'informacemi.']
>>> radek.split()[4]
'cislo.txt'
>>> 
>>> 
>>> zacatek = len('Data jsou v souboru ')
>>> konec = radek.find(' i s informacemi')
>>> zacatek, konec
(20, 29)
>>> radek[zacatek:konec]
'cislo.txt'
>>> 
>>> 
>>> import re
>>> re.findall(r'v souboru (\S+) i s', radek)
['cislo.txt']
>>> re.findall(r'v souboru (\S+) i s', radek)[0]
'cislo.txt'

Nahlásit jako SPAM
IP: 213.211.51.–
29. 1. 2021   #5
-
0
-

#4 gna
Děkuji moc. Rozhodně mi to pomohlo.

Nahlásit jako SPAM
IP: 185.91.165.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý