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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM