作者herbacin (herbacin)
看板Python
標題[問題] 如何使用__init__.py 所 import的module
時間Tue Oct 4 15:24:54 2016
請問一下各位大大
我的python目錄結構是這樣 :
app\
component
__init__.py
example.py
run.py
程式碼如下 :
1. run.py
from flask import Flask, render_template
from component import example
import json
app = Flask(__name__)
@app.route('/getNow')
def getNow():
return example.example().getDateTime()
2. __init__.py
from datetime import datetime
print(' * init load...')
3. example.py
class example:
def getDateTime(self):
return datetime.now()
問題 :
當我執行 127.0.0.1/getNow的時候會出現 name datetime is not define
但__init__.py是有被執行的
我想請問我要如何才可以在exapmple 取得__init__.py import的module ?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.132.73
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1475565896.A.2E1.html
1F:推 Yshuan: 我的理解是__init__.py只是該package必定先執行的code 10/04 15:34
2F:→ Yshuan: 和在example.py裡面的env是分開的 (必須分開import) 10/04 15:35
3F:→ herbacin: 所以__init__.py import是沒有意義的囉? 並不能 10/04 15:54
4F:→ herbacin: 被該papckage的module使用 10/04 15:54
5F:推 Yshuan: 我目前只把 全域用到的config或instance才放在__init__ 10/04 16:02
6F:→ KSJ: __init__.py import的意義…可以給該package本身一些設定 10/04 16:11
7F:→ KSJ: 讓package本身用起來可以像module,雖然我們常用package 10/04 16:12
8F:→ KSJ: 來分別擺放module並加以管理 10/04 16:13
10F:→ KSJ: 的6.4z節 Packages 10/04 16:16
11F:→ freeunixer: 書上沒教你__init__ 載入的是該檔裡定義的函式? 10/05 03:48
12F:→ freeunixer: 如果你是一個 package 要載入該檔所在目錄的其它檔案 10/05 03:49
13F:→ freeunixer: 要用 __all__ = [] 去放進你要引入的 module name 10/05 03:50