Diskuze: python_cteni souboru
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
To tvoje zadání není moc jasné:
Takhle by to bylo trochu elegantnější
with open(cesta) as soubor:
for radka in soubor:
for slovo in radka[:-1].split(","):
#tady bude tvuj dalsi kod
No, a měla bys využít konverzní funkce a konstrukci try except
int("3") # 3
int("2.1") # vyhodí chybu, takže bude záležet na pořadí, ve kterém se to
pokusíš konvertovat
float("2.1") # 2.1
Snad ti to pomůže.
Nevím, jestli to někdo ocení, ale v souvislosti s tou konverzní funkcí
mne napadl tento kód, něco na způsob F# Option Kdo si na to troufá, může ho
zkusit rozluštit
from functools import partial
def check(value, func):
try:
return func(value)
except:
return None
convert = lambda word: next(filter(None,
map(partial(check, word),
(int, float))), word)
for slovo in "1", "2.3", "slovo":
slovo = convert(slovo)
print(slovo, " : ", type(slovo))
# Vypíše
>>>
1 : <class 'int'>
2.3 : <class 'float'>
slovo : <class 'str'>
Zobrazeno 3 zpráv z 3.