首页 > 代码库 > Python的__main__.py用法

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_importfrom .dep import Depclassadep = Depclass()

  

dep.py内容如下:

[root@typhoeus79 ice_test_m 20141024]# more test/dep.pyclass 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 DepclassValueError: 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

  

Python的__main__.py用法