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 2.5
Level 2.5
Příspěvky: 392
Registrován: únor 11
Pohlaví: Muž

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: 57
Registrován: říjen 19
Pohlaví: Muž

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: 6992
Registrován: prosinec 10
Pohlaví: Muž

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ší.
"Dokud nebyly počítače, programování nebylo problémem.
Jestliže bylo několik slabých počítačů, bylo programování malým problémem.
Když však programátoři získali počítače na svou dobu ohromné síly, stalo se také programování ohromným problémem."

E. W. Dijkstra, 1972


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Python - BeautifulSoup
    od Emphaty1 » 10 říj 2019 16:49 » v Programování a tvorba webu
    1
    1438
    od CZechBoY
    20 říj 2019 17:02
  • python socket
    od Akrej » 23 úno 2020 03:21 » v Programování a tvorba webu
    1
    1016
    od CZechBoY
    28 úno 2020 17:54
  • Nefukcni kod, python
    od shockwave » 11 kvě 2020 13:11 » v Programování a tvorba webu
    14
    590
    od shockwave
    14 kvě 2020 17:15
  • Testování databáze, python
    od shockwave » 27 kvě 2020 12:45 » v Programování a tvorba webu
    4
    328
    od CZechBoY
    28 kvě 2020 16:39
  • Nevytiskne se cely slovnik,python
    od shockwave » 18 kvě 2020 20:21 » v Programování a tvorba webu
    8
    356
    od Zakk
    19 kvě 2020 20:53

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 1 host