У мене є інструмент, в якому я зберегти файл в 2 форматах (один JSON і інший текст (без розширення)) і мають 2 кнопки для їх відкриття.
У оновленій версії інструмента я вилучив збереження текстового формату. А тепер я не хочу 2 кнопки для завантаження 2 різних файлів, я хочу, щоб обидва файли були завантажені з тією ж кнопкою.
Як це можна зробити, оскільки один файл має розширення ".json" та інший файл не має розширення.
1 метод я знаю, щоб перевірити розширення файлу (це стандартний спосіб?)
Інші способи?
Що таке пітонний спосіб зробити це?
Відповіді:
2 для відповіді № 1Так, ви можете просто перевірити розширення. Використовуйте endswith
if filename.endswith(".json"):
# it"s json
else:
# it"s not
Або ви можете перевірити сам вміст файлу.
s = open(filename).read()
try:
json.loads(s)
# it"s json
except ValueError:
# it"s not
2 для відповіді № 2
Ви можете взяти два підходи:
використовувати os.splitext
щоб визначити, чи є розширення "json"
:
if os.splitext(path)[1] == "json":
...
Or спробуй для розбору як json
, розібрати інший шлях, якщо це не вдасться:
try:
data = json.loads(contents)
except ValueError:
data = parse_text() # your custom function i guess?
1 для відповіді № 3
import os
if os.path.splitext("file.json")[1] == ".json":
#it"s a json file
else:
#it"s not a json