我有一个脚本,它解析了一些参数,并且有一些昂贵的导入,但只有当用户提供有效的输入参数时才需要这些导入,否则程序退出.此外,当用户说python script.py --help,根本不需要执行那些昂贵的进口.
我能想到这样一个剧本:
import argparse
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('--argument', type=str)
args = parser.parse_args()
return args
if __name__ == "__main__":
args = parse_args()
import gensim # expensive import
import blahblahblah
def the_rest_of_the_code(args):
pass
if __name__ == "__main__":
the_rest_of_the_code(args)
Run Code Online (Sandbox Code Playgroud)
这样做可以,但对我来说看起来并不优雅.对这项任务有更好的建议吗?
编辑:导入真的很贵:
$ time python -c "import gensim"
Using TensorFlow backend.
real 0m12.257s
user 0m10.756s
sys 0m0.348s
Run Code Online (Sandbox Code Playgroud) 在某些降价文档中,他们说换行符是换行,而两个换行符则解释为新段落。
但是在Octopress中,一个换行符什么都不做,而两个换行符则组成一个新段落。如何在标记行减价中只包含一个换行符而不是一个段落?
例如,如果我开始一个项目符号,并且前面只有一个换行符,它将无法正确解释它,并且生成的输出是没有项目符号的连续文本。所以目前我必须拥有:
sample text
* b1
* b2
Run Code Online (Sandbox Code Playgroud)
代替:
sample text
* b1
* b2
Run Code Online (Sandbox Code Playgroud)
后者是我想要的,而不是前者。但是,后者将无法正确解释,或者至少无法按照我的期望进行解释。我想要的输出如下所示:
sample text
* b1
* b2
Run Code Online (Sandbox Code Playgroud)
但是我得到的是:
sample text * b1 * b2
Run Code Online (Sandbox Code Playgroud)
我是否需要更改octopress设置中的某些内容?
如前所述在这里,我知道,coef0在使用polynomial和sigmoid内核功能SVM。但是这个系数的确切影响是什么?