Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: MarkyMark 18. 08. 2015, 23:06:16
-
Dobry den. Narazil jsem na potíže v pythonu a nemůžu nikde najít nějaké řešení. Mám pole a v poli jsou příkazy s parametry, příklad:
arr = ['delete_file(path, name)']
Když ale zadám arr[0], tak se příkaz nespustí. Pomůže mi prosím někdo zkušený ? Děkuji.
-
Nejsem si jisty, ze te otazce uplne rozumim. ;)
-
Mám funkci
def delete_file(path, name):
pass
pak mám seznam
myList = ['delete_file('/home', 'test.txt')']
no a potřebuji spustit funkci jež je v tom seznamu včetně parametrů
myList[0]
Je to lépe k pochopení ?
-
Mám funkci
def delete_file(path, name):
pass
pak mám seznam
myList = ['delete_file('/home', 'test.txt')']
no a potřebuji spustit funkci jež je v tom seznamu včetně parametrů
myList[0]
Je to lépe k pochopení ?
To bych imho udelal krapet jinak. Proc to mit jako retezec. Neco ve smyslu.
import functools
myList = [functools.partial(delete_file, '/home', 'test.txt')]
myList[0]
Pokud to chces mit vylozene jako retezec, tak pak eval. To je ale celkem nehezke a myslim zbytecne.
-
Tedy exec jsem chtel napsat. Ale to bych stejne v tomhle pripade nedelal. ;)
-
Dobry den. Narazil jsem na potíže v pythonu a nemůžu nikde najít nějaké řešení. Mám pole a v poli jsou příkazy s parametry, příklad: arr = ['delete_file(path, name)']
Když ale zadám arr[0], tak se příkaz nespustí. Pomůže mi prosím někdo zkušený ? Děkuji.
Proč by se taky měl spouštět, že? Když to má vrátit hodnotu z toho indexu ;)... (btw. Python pole nemá ;) )
eval(myList[0])
Ale jak už tady padlo, je to nehezká technika, kterou bych nedoporučil, pokud k tomu není extra důvod. A z toho co vidím, k tomu důvod není.