zoukankan      html  css  js  c++  java
  • Python的__main__.py用法

    【背景】

    在看flower的时候看到__main__.py文件,不知道具体做什么用?

    故先进行测试看看。

    【测试代码】

    测试代码目录结构如下:

    .
    `-- test
        |-- __init__.py
        |-- __main__.py
        |-- dep.py
    

    __init__.py为空,表示test是一个package

    __main__.py内容如下:

    [root@typhoeus79 ice_test_m 20141024]# more test/__main__.py 
    #!/usr/bin/env python2.7
    #-*- coding:utf8 -*
    
    from __future__ import absolute_import
    
    from .dep import Depclass
    
    adep = Depclass()
    

      

    dep.py内容如下:

    [root@typhoeus79 ice_test_m 20141024]# more test/dep.py
    class Depclass(object):
        def __init__(self):
            print "Init Depclass"
    

      

    直接运行__main__.py的时候出现错误:

    [root@typhoeus79 ice_test_m 20141024]# ./test/__main__.py 
    Traceback (most recent call last):
      File "./test/__main__.py", line 6, in <module>
        from .dep import Depclass
    ValueError: Attempted relative import in non-package
    

      

    这个错误之前也遇到过

    http://i.cnblogs.com/EditPosts.aspx?postid=4030852

    包含相对路径import 的python脚本不能直接运行,只能作为module被引用。

    如果想运行的话,需要这样操作:

    [root@typhoeus79 ice_test_m 20141024]# python2.7 -m test.__main__    
    Init Depclass
    

      

  • 相关阅读:
    Git引用
    如何查看Git对象
    Git是如何存储对象的
    图形化的Git
    git中找回丢失的对象
    Git的Patch功能
    ES查看配置和查看全部配置
    增删改查
    Elasticsearch增、删、改、查操作深入详解
    ES博客链接
  • 原文地址:https://www.cnblogs.com/gsblog/p/4047831.html
Copyright © 2011-2022 走看看