[英]Python: how can I differentiate between two variables of two different objects of the same class?
[英]How to differentiate between two different type of files in python 2.7?
我有一个工具可以将文件保存为2种格式(一种是JSON,另一种是文本(不带扩展名)),并具有2个用于打开它们的按钮。
在工具的升级版本中,我删除了保存文本格式的操作。 现在我不想要2个按钮来加载2个不同的文件,我希望两个文件都用相同的按钮加载。
因为一个文件具有“ .json”扩展名,而另一个文件没有任何扩展名,该如何完成。
我知道的一种方法是检查文件扩展名(这是标准方法吗?)
还有其他方法吗?
这样做的python方式是什么?
是的,您可以只检查扩展名。 使用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
您可以采用两种方法:
使用os.splitext
确定扩展名是否为'json'
:
if os.splitext(path)[1] == 'json':
...
或尝试解析为json
,如果失败json
其他方式解析:
try:
data = json.loads(contents)
except ValueError:
data = parse_text() # your custom function i guess?
import os
if os.path.splitext('file.json')[1] == '.json':
#it's a json file
else:
#it's not a json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.