Portál AbcLinuxu, 12. května 2025 08:07

Dotaz: PYTHON - Jak získat text z proměnné

20.5.2015 23:08 Karlos
PYTHON - Jak získat text z proměnné
Přečteno: 496×
Odpovědět | Admin
Zdravím. Pomůže prosím někdo jak v pythonu získat text z proměné před prvním lomítkem a text za posledním lomítkem ? Děkuji moc za pomoc.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.5.2015 23:11 NN
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Odpovědět | | Sbalit | Link | Blokovat | Admin
Myslis, jak vyparat z cele cesty korenovy adresar a nazev souboru?
Řešení 1× (:::)
20.5.2015 23:14 chrono
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dá sa použiť napr. funkcia split("/") a potom sa použije 0. a -1. element (ak máme aspoň dva prvky vo výslednom poli). Prípadne sa dá použiť napr. takýto regexp r"^([^/]+)/.*/([^/]+)$"
20.5.2015 23:15 chrono
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
A ak ide o cestu, ako si myslí NN, tak na to má Python funkcie v os.path).
FrostyX avatar 20.5.2015 23:24 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud nejde o cesty souborů, pak bych na to šel prostě takhle:
x = "foo/bar/baz/qux".split("/")
print x[0]  # Vypíše 'foo'
print x[-1] # Vypíše 'qux'
FrostyX.cz | 1984 was not supposed to be an instruction manual.
20.5.2015 23:34 NN
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Pripadne pristoupit rovnou na hodnoty:

print 'foo/bar/foobar'.split('/')[-1]
21.5.2015 01:30 Karlos
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díky moc všem! By mě zajímalo, kde berete takové super informace :-(
Jendа avatar 21.5.2015 02:13 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Stačí zadat do Googlu nebo jiného hledače python split string a kliknout na libovolný z prvních nekolika odkazů.
21.5.2015 10:36 Karlos
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Co je to Google ? Jakého hledače přesně myslíte ?
Jendа avatar 21.5.2015 11:07 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
21.5.2015 17:01 Karlos
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Aha, vyhledávač, už jsem doma ;-) Dík. Ještě bych si dovolil jednu tokovou drobnost, nevím jetli se to může nebo se musí založit nový dotaz, pokud ne, prosím admina o přesunutí. Nikdy nemůžu najít, jak v základním Pythonu bez načtení dalšího modulu zjistit, zda existuje nějaká proměnná s prefixem self. Našel jsem jen tohle
if 'Var' in locals():         # Var exists.
if 'Var' in globals():        # Var exists.
if hasattr(obj, 'attr_name'): # obj.attr_name exists.
ale potřebuji testovat proměnnou 'self.Var'. Díky
21.5.2015 17:43 chrono
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
self.var je atribút var objektu self a na zistenie toho, čo má objekt najeký atribút sa používa hasattr (v tomto konkkrétnom prípade to bude if hasattr(self, "var"): )
21.5.2015 17:51 Karlos
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Díky moc..
21.5.2015 18:22 Karlos
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Ještě mi to dělá problém s tím testováním,
hasattr(self, "var"): # var existuje
else:                 # var neexistuje
když ta proměnná existuje nebo nexistuje tak podmínka funguje ok. pokud ale existuje a já ji smažu, tak jako by pořád existovala. Proměnnou mažu pomocí self.var = None, jelikož nic jiného jsem nenašel. Díky
FrostyX avatar 21.5.2015 18:55 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Potřebujeme si ujasnit, co vlastně chceme udělat. Chceme testovat, jestli je nějaký atribut nenulový? To pak opodmínkuješ jednoduše
if self.var:
    # ...
else:
    # ...
a pak to tvoje nulování pomocí self.var = None bude fungovat.

Nebo chceme testovat, zda nějaký atribut existuje? Pak bys použil hasattr, jak bylo řečeno výše, ale upřímně z hlavy nevím, jak atribut odebrat. Nikdy jsem to nepotřeboval. Jaký pro to máš use-case?
FrostyX.cz | 1984 was not supposed to be an instruction manual.
21.5.2015 19:03 Marvin | blog: im_depressed | Gallifrey
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
del self.var
21.5.2015 22:08 Karlos
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
tak del někdy funguje a někdy to píše, neznámý příkaz, tak nevím. A existuje na to i negace ? Něco jako

if ! hasattr(self, "var"): # var neexistuje

Fuky avatar 21.5.2015 22:41 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
22.5.2015 15:21 Marvin | blog: im_depressed | Gallifrey
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Pise to "neznamy prikaz", nebo "instance nema attribut"?

del nic netestuje, del maze atribut. Takze kdyz to pouzijes podruhy tak to nahlasi chybu, protoze ten atribut uz tam neni.

negace se dela pomoci "not":

if not hasattr(self, "var"):

Jinak veci jako mazani atributu bych doporucil jenom pokud vis co delas. Z tech otazek mam dojem ze to tak neni a na 99% existuje lepsi reseni bez toho...

To neni mysleny jako urazka, ale proste je potreba zacit se zakladama, nez prejdes ke slozitejsim vecem.

Doporucil bych taky kdyz se na neco ptas tak napsat co se celkove snazis udelat, ne jenom krok na kterym ses zaseknul. Casto se stane ze se clovek pri reseni problemu zasekne na nejakym kroku, a vubec ho nenapadne ze cela ta cesta kterou na to jde je spatne. Kdyz zvolis jinou cestu, tak ten krok najednou vubec nebude potreba. To ti ale nemuzeme rict kdyz nevime co se celkove snazis udelat...
23.5.2015 21:26 Karlos
Rozbalit Rozbalit vše Re: PYTHON - Jak získat text z proměnné
Už to jde, děkuji.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.