Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Janek 31. 08. 2015, 19:15:03

Název: Vytvoření kódu pro Python 3.4
Přispěvatel: Janek 31. 08. 2015, 19:15:03
Ahoj chlapy, hledám frajera s velkým F který opravdu umí Python. Mám tento kousek kódu pro Bash/Shell

Kód: [Vybrat]
read -e -i "Ovoce" -p "Zadejte druh: " DRUHa potřebuji vytvořit ekvivalent pro Python 3.4

Může mi prosím někdo pomoci ? Moc děkuji za pomoc
Název: Re:Vytvoření kódu pro Python 3.4
Přispěvatel: Ondra Satai Nekola 31. 08. 2015, 19:22:55
A tu nastavenou promennou pak chces pouzit kde a jak?
Název: Re:Vytvoření kódu pro Python 3.4
Přispěvatel: Janek 31. 08. 2015, 20:19:45
A tu nastavenou promennou pak chces pouzit kde a jak?
Tu proměnnou budu používat v pythonu i nadále, moc nerozumím tvému dotazu.
Název: Re:Vytvoření kódu pro Python 3.4
Přispěvatel: Ondra Satai Nekola 31. 08. 2015, 21:15:35
A tu nastavenou promennou pak chces pouzit kde a jak?
Tu proměnnou budu používat v pythonu i nadále, moc nerozumím tvému dotazu.

Tak ta konstrukce v bashi ti meni env shellu, chtel jsem se ujistit, ze nechces tohle ale pokracovat dal v Pythonu.

Od oka:

Kód: [Vybrat]
druh = "Ovoce" + input("Zadejte ovoce: Ovoce")
Název: Re:Vytvoření kódu pro Python 3.4
Přispěvatel: Janek 31. 08. 2015, 21:59:50
Kód: [Vybrat]
druh = "Ovoce" + input("Zadejte ovoce: Ovoce")
Díky, ale tento script nedělá nic jiného, než že vytiskne 'Ovoce' + můžu editovat text který k tomu dopíšu. Můj demo script umožňuje editovat obojí a to je to co potřěbuji vytvořit i v Pythonu.
Název: Re:Vytvoření kódu pro Python 3.4
Přispěvatel: Ondra Satai Nekola 31. 08. 2015, 22:10:45
tak to volne na motivy: http://stackoverflow.com/questions/2533120/show-default-value-for-editing-on-python-input-possible

Kód: [Vybrat]
import readline

def input_with_default(prompt, prefill=''):
    readline.set_startup_hook(lambda: readline.insert_text(prefill))
    try:
        return input(prompt)
    finally:
        readline.set_startup_hook()
Název: Re:Vytvoření kódu pro Python 3.4
Přispěvatel: Janek 01. 09. 2015, 11:46:14
Je vidět, že titul 'Mistr fóra' je na místě ;-) Díky moc, sice abolutně netuším co ta fukce děla ale funguje to.
Název: Re:Vytvoření kódu pro Python 3.4
Přispěvatel: Ondra Satai Nekola 01. 09. 2015, 11:59:29
'Mistr fóra' se dava za klaboseni ne za reseni ;)

nastavi to extra startup hook a pak ho zrusi (ocividna chyba: pokud uz nejaky byl, tak si ho zrusis). Jako hook se pouzije anonymni funkce (lambda) co ti predvyplni kus textu.
A input asi uz znas, predpokladam.

set_startup_hook
    Set or remove the startup_hook function. If function is specified, it will be used as the new startup_hook function; if omitted or None, any hook function already installed is removed. The startup_hook function is called with no arguments just before readline prints the first prompt.