/ / Як розрізняти два типи файлів у python 2.7? - python, python-2.7, file-io

Як розрізняти два різних типи файлів у python 2.7? - python, python-2.7, file-io

У мене є інструмент, в якому я зберегти файл в 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