python 包导入规则

python 包导入规则,恶心了一天,终于搞清楚了

1、目录

speed
    data
        __init__.py
    __init__.py
    static
    templates
    view
        __init__.py
        table_alding_data.py
        table_odp_us.py

2、文件
data/__init__py

#!/usr/bin/env python
# encoding: utf-8

import json

def get_data(data_name="result"):
	data_path="/home/work/opsite/webroot/speed/data/"
	res=open(data_path+data_name)
	line=res.readline()
	line=json.loads(line)
	return line

view/table_odp_us.py

#!/usr/bin/env python
# encoding: utf-8
"""
	us and odp data process
"""

from view import app
from flask import render_template
from speed.data import get_data

@app.route('/table-odp-us.php')
def create_result():
	data=get_data("odp_us_hour.2014120301")
	print data
	return render_template('line/line.html')

3、说明
在包view中的模块引入包data中的函数(get_data)需要使用全路径:

from speed.data import get_data

使用以下方式不可:

from speed import data
from data import get_data
原文地址:https://www.cnblogs.com/mengyixuan/p/4189408.html