python笔记

2017.8.19

  1. 常常会碰到一个.py文件里出现if name == 'main':这样的描述:
    • 模块是对象,并且所有的模块都有一个内置属性 name。一个模块的 name 的值取决于您如何应用模块.
    • 如果直接运行.py文件,那么name就是等于‘main'
    • 如果在另外的模块中导入该.py文件,例如导入的是Test.py也就是import Test, 那 Test.name='Test'
    • 所以if name == 'main':之后的代码是保证在运行该.py文件的时候才运行的代码

2017.8.26

  1. 今天在阿里云的PAI上运行自己的代码,为了能从oss中读取参数,需要一个全局的参数传递对象,这个对象就是FLAGS。
  def main(_):
    FLAGS = None
    ...
    data_dir = FLAGS.datadir
    ...
  if __name__ = '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--buckets', type=str,
                      default='',
                      help='input data path')
    FLAGS, _ = parser.parse_known_args()
    main()

这里要注意,main的定义时括号里要加入一个 ,这个本来是上一个输出的参数的意思,这里还不是特别明白为什么这么做。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容