Mám nástroj, v ktorom môžem uložiť súbor v dvoch formátoch (jeden je JSON a druhý je text (bez prípony)) a majú dve tlačidlá na otvorenie.
V inovovanej verzii nástroja som odstránil ukladanie textového formátu. A teraz nechcem 2 tlačidlá pre načítanie 2 rôznych súborov, chcem, aby oba súbory boli načítané rovnakým tlačidlom.
Ako to možno urobiť, pretože jeden súbor má príponu ".json" a iný súbor nemá žiadne rozšírenie.
1 metóda Viem, je skontrolovať príponu súboru (je to štandardná cesta?)
Akékoľvek iné spôsoby?
Aký je pytónický spôsob, ako to urobiť?
odpovede:
2 pre odpoveď č. 1Áno, môžete skontrolovať rozšírenie. použitie endswith
if filename.endswith(".json"):
# it"s json
else:
# it"s not
Alebo môžete skontrolovať samotný obsah súboru.
s = open(filename).read()
try:
json.loads(s)
# it"s json
except ValueError:
# it"s not
2 pre odpoveď č. 2
Dva prístupy, ktoré môžete využiť:
použitie os.splitext
určiť, či je rozšírenie "json"
:
if os.splitext(path)[1] == "json":
...
alebo vyskúšať analyzovať ako json
, analyzujte inak, ak to zlyhá:
try:
data = json.loads(contents)
except ValueError:
data = parse_text() # your custom function i guess?
1 pre odpoveď č. 3
import os
if os.path.splitext("file.json")[1] == ".json":
#it"s a json file
else:
#it"s not a json