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: 382
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: 53
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: 6946
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ší.
Je právě SECHS hodin!


  • 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
    1414
    od CZechBoY
    20 říj 2019 17:02
  • python socket
    od Akrej » 23 úno 2020 03:21 » v Programování a tvorba webu
    1
    953
    od CZechBoY
    28 úno 2020 17:54
  • Nefukcni kod, python
    od shockwave » 11 kvě 2020 13:11 » v Programování a tvorba webu
    14
    425
    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
    223
    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
    241
    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: CommonCrawl [Bot] a 0 hostů