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
Dirname, python
-
- Level 1
- Příspěvky: 59
- Registrován: říjen 19
- Pohlaví:
Re: Dirname, python
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.
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.
-
- Master Level 8.5
- Příspěvky: 7091
- Registrován: prosinec 10
- Pohlaví:
Re: Dirname, python
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):
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ší.
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ší.
Kalendář Intelu na rok 2021:
Leden: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru.
Únor: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel lednový termín.
Březen: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel ani únorový termín.
Duben: Náhodný den ...
Leden: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru.
Únor: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel lednový termín.
Březen: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel ani únorový termín.
Duben: Náhodný den ...
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 14
- 1124
-
od shockwave
14 kvě 2020 17:15
-
- 4
- 618
-
od CZechBoY
28 kvě 2020 16:39
-
- 8
- 697
-
od Zakk
19 kvě 2020 20:53
-
- 8
- 770
-
od shockwave
26 kvě 2020 00:58
-
- 8
- 736
-
od CZechBoY
16 kvě 2020 11:12
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 2 hosti