Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: 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
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
-
A tu nastavenou promennou pak chces pouzit kde a jak?
-
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.
-
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:
druh = "Ovoce" + input("Zadejte ovoce: Ovoce")
-
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.
-
tak to volne na motivy: http://stackoverflow.com/questions/2533120/show-default-value-for-editing-on-python-input-possible
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()
-
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.
-
'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.