Dirname, python

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

shockwave
Level 3
Level 3
Příspěvky: 459
Registrován: únor 11
Pohlaví: Muž
Stav:
Offline

Dirname, python

Příspěvekod shockwave » 23 kvě 2020 00:53

Ahoj, v ucebnici maji tyto dva radky kodu:

dir = os.path.dirname(__file__)
chrome_driver_path = dir + "\chromedriver.exe"

1.proc se tohle vsechno nenapise do jednoho radku a (__file__) - se necim nahradi nebo tohle je konecna syntaxe ?
2.os.path.dirname(__file__)- nikde jsem nenasel poradne vzsvetleni

(,co jsem dohledal,, ze path.dirname - pisi o nejakem jakoby zacatku cesty k souboru a tohle + "\chromedriver.exe"
by tedy byl zbytek te cesty k chromedriver.exe ?)

Dekuji

Reklama
knowledgeispower
Level 1
Level 1
Příspěvky: 59
Registrován: říjen 19
Pohlaví: Muž
Stav:
Offline

Re: Dirname, python

Příspěvekod knowledgeispower » 23 kvě 2020 01:15

1. Může být, z praktického hlediska se to ukládá do proměnné, abys potom proměnnou dir mohl použít i jinde a nemusel metodu os.path.dirname(__file__) volat pokaždé znova.

2. os.path.dirname(__file__) vrátí cestu ke složce, ze které pouštíš script.

Tvým druhým řádkem potom ukládáš do proměnné chrome_driver_path cestu k chromedriver.exe. Ten řádek nám zároveň říká to, že daný exe soubor se nachází ve stejné složce jako spuštěný script.

Mohl bys přímo napsat cestu k danému souboru ručně, jako např. "C:\Projekty\PythonProjekt1\chromedriver.exe", ale daná metoda os.path.dirname(__file__) potom zajistí, že pokud bys script v budoucnu přesunul, tak nemusíš přepisovat tu cestu, kterou bys tam měl zapsanou ručně.

Snad jsem to vysvětlil dost pochopitelně.

Dodatečně přidáno po 5 minutách 5 vteřinách:
P.S. Příště bych pro pochopení funkčnosti určitých metod použil Google, ušetříš tím čas nám, ale hlavně sobě, protože zbytečně čekáš na odpověď a už jsi mohl zase pokročit ve svém vzdělávání. Když napíšeš do Google přímo název té metody, tak vyjede tolik odkazů, které to vysvětlují i lépe, že se nemůže stát, že bys alespoň jeden nepochopil.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7356
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Dirname, python

Příspěvekod faraon » 23 kvě 2020 07:40

Pokud to volání použiješ v programu jednou, nebo jen několikrát, můžeš to dát do jednoho řádku. Ale programy obvykle fungují tak, že opakují určité věci pořád dokola v milionech a miliardách cyklů, a každé volání nějaké funkce trvá určitý čas.

Změř si jak dlouho ti budou trvat tyhle smyčky (jestli máš počítač o hodně rychlejší než já, místo 1e7 tam dej 1e8 nebo 1e9):

Kód: Vybrat vše

i=1e7
while i:
      chrome_driver_path = os.path.dirname(__file__) + "\chromedriver.exe"
      i-=1

print(chrome_driver_path)

Kód: Vybrat vše

dir = os.path.dirname(__file__)

i=1e7
while i:
      chrome_driver_path = dir + "\chromedriver.exe"
      i-=1

print(chrome_driver_path)

Druhý způsob je delší a ta proměnná zabírá paměť navíc, ale mě běží šestkrát rychleji!

Python je navíc dost pomalý jazyk, o to víc musíš přemýšlet co je právě teď důležitější.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1111
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti