Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: beer 24. 05. 2017, 17:42:40
-
V pythonu se moc nevyznám, rád bych ve skriptu použil načtení obsahu souboru, se kterým bych pak mohl pracovat.
def get_whois():
open('/cesta/whois.txt', encoding='utf-8')
get_whois()
tohle mi nefunguje, co dělám špatně?
-
V pythonu se moc nevyznám, rád bych ve skriptu použil načtení obsahu souboru, se kterým bych pak mohl pracovat.
def get_whois():
open('/cesta/whois.txt', encoding='utf-8')
get_whois()
tohle mi nefunguje, co dělám špatně?
def get_whois():
with open('/cesta/whois.txt', encoding='utf-8') as f
return f.read()
get_whois()
-
Tyjo, takhle se dneska programuje? Co takhle si najit nejaky zakladni info o otevirani souboru?
with open('filename') as f:
lines = f.readlines()
-
Jedna variatna hlásí:
IndentationError: expected an indented block
druhá
yntaxError: invalid syntax
Jo, je tam python 2,7
-
def get_whois():
with open('/cesta/whois.txt', encoding='utf-8') as f
return f.read()
get_whois()
chybí dvojtečka
def get_whois():
with open('/cesta/whois.txt', encoding='utf-8') as f:
return f.read()
-
def get_whois():
with open('/cesta/whois.txt', encoding='utf-8') as f
return f.read()
Toto je syntaxe Pythonu 3, nepůjde mu to spustit. V Pythonu 2.7 je open bez parametru encoding. Ale určitě doporučuju začít programovat v Pythonu 3, pokud je možno ho na stroj doinstalovat.
-
google neznas? Vubec toho tam neni trilion.
-
google neznas? Vubec toho tam neni trilion.
Google znám, ale neznám Python.
line 75
if __name__ == "__main__":
^
IndentationError: expected an indented block
Co to způsobuje?
-
indented block znamena, ze mas zle "odsadenie" v kode..
V pythone nemas begin a end, ale ze kod patri k podmienke if, alebo k cyklu sa urcuje pomocou toho, ze ma od zaciatku riadku rovnaky pocet medzier...
Nespravne:
if condition:
do this
else:
do this
Spravne:
if condition:
do this
else:
do this
-
line 75
if __name__ == "__main__":
^
IndentationError: expected an indented block
Co to způsobuje?
za : musí být odsazený blok, nějaký příkaz nebo jen pass.
if __name__ == "__main__":
pass
-
Díky
-
google neznas? Vubec toho tam neni trilion.
Google znám, ale neznám Python.
line 75
if __name__ == "__main__":
^
IndentationError: expected an indented block
Co to způsobuje?
Tak očividně neznáš, jinak by ses neptal na tyhle věci.
-
Koukám že na trhu vyloženě chybí kniha "Jak se stát programátorem snadno a rychle" ;D
-
Koukám že Python použil svou obranu: odsazení. Programovat stylem pokus --omyl, není dobrá strategie.
-
Tak očividně neznáš, jinak by ses neptal na tyhle věci.
Poslouchej, a ty sem píšeš vlastně proč? Abys pomáhal, nebo aby sis zvyšoval sebevědomí na ostatních, jakej si borec? UTFG píše na fórech jen d*.. Představ si, že sem to vyhledával a byly tam takové rady jako mix tabulátorů a mezer, většina výsledků v angličtině, nebo nějaké sáhodlouhé články. OK, tak jsem zkoušel nahrazovat v dokumentu tabulátory mezerama, ale co konkrétně je tam špatně, jsem z toho nepochopil a pochopil jsem to až z odpovědi zde na fóru. Ty přijdeš, a neporadíš, jen útočíš. Ale nejsi zde sám. Jsou tací, co poradí, ale zároveň dodají něco, co jim dává pocit převahy.
-
Koukám že Python použil svou obranu: odsazení. Programovat stylem pokus --omyl, není dobrá strategie.
Nesnažím se stát programátorem v pythonu (zatím), nejsem ani aǰťák, i když mne linux baví. Jen jsem chtěl rozchodit jeden již hotový script. Načtení souboru jsem potřeboval proto, že na openwrt nemám whois příkaz. Ten skript mi na ubuntu funguje, a tam to řešit nemusím, jen jsem chtěl prostě přijít na tohle.
A stejně se to nepovedlo, protože jen něco opravím, objeví se jiná chyba. O pythonu jsem do této doby věděl pouze to, že existuje. Když bude čas, tak si o něm něco přečtu.
-
Neberte si to osobně, já jsem také začínal a každou chybu jsem musel někde dohledat. Základem ale je, nejdříve si přečíst něco o jazyku, který chci používat. Pak byste nemohl být překvapen z toho, že Python je citlivý na indentaci. Takhle po slepu upravovat program vede k hodně špatným návykům -- pokud se vám to nepovedlo, je to jen dobře. Příště by vám to mohlo, obrazně řečeno, ustřelit nohy.
-
Koukám že Python použil svou obranu: odsazení. Programovat stylem pokus --omyl, není dobrá strategie.
Nesnažím se stát programátorem v pythonu (zatím), nejsem ani aǰťák, i když mne linux baví. Jen jsem chtěl rozchodit jeden již hotový script. Načtení souboru jsem potřeboval proto, že na openwrt nemám whois příkaz. Ten skript mi na ubuntu funguje, a tam to řešit nemusím, jen jsem chtěl prostě přijít na tohle.
A stejně se to nepovedlo, protože jen něco opravím, objeví se jiná chyba. O pythonu jsem do této doby věděl pouze to, že existuje. Když bude čas, tak si o něm něco přečtu.
Kdyby náhodou, tak něco k Pythonu je i tady volně ke stažení - https://www.root.cz/knihy/oddeleni/vyvoj-a-knihy-pro-vyvojare/ (kdybys o tom nevěděl - jen pozor na rozdíly Python 2.7 x Python 3 :) )