KGLM代码分析:run.py

#!/usr/bin/env python
import logging
#logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;
import os
#os 模块提供了非常丰富的方法用来处理文件和目录。
import sys
#系统特定的参数和功能

if os.environ.get('ALLENNLP_DEBUG'):
    LEVEL = logging.DEBUG
else:
    LEVEL = logging.INFO
#os.environ.get()是python中os模块获取环境变量的一个方法

sys.path.insert(0, os.path.dirname(os.path.abspath(os.path.join(__file__, os.pardir))))
#sys.path是个列表,所以在末尾添加目录是很容易的,用sys.path.append就行了。当这个append执行完之后,新目录即时起效,以后的每次import操作都可能会检查这个目录。如同解决方案所示,可以选择用sys.path.insert(0,…,这样新添加的目录会优先于其他目录被import检查
#语法:os.path.dirname(path) 功能:去掉文件名,返回目录 
#os.path.abspath(__file__) 作用: 获取当前脚本的完整路径
#os.path.join()函数:连接两个或更多的路径名组件
#os.pardir() 获取当前目录的父目录(上一级目录),以字符串形式显示目录名。

logging.basicConfig(format='%(asctime)s - %(levelname)s - %(name)s - %(message)s',
                    level=LEVEL)
# # 设置日志级别

# pylint: disable=wrong-import-position
from allennlp.commands import main
from kglm.commands import EvaluatePerplexity
from kglm.commands import CompleteTheSentence

if __name__ == "__main__":
    main(prog="allennlp",
         subcommand_overrides={
             'evaluate-perplexity': EvaluatePerplexity(),
             'complete-the-sentence': CompleteTheSentence(),
         })

你可能感兴趣的:(KGLM代码分析:run.py)