1
我試圖導入一個函數,它是在Python包內的模塊中,但是當我嘗試:導入模塊忽略__init__.py
from package.module import some_function
的Python執行了這個包的__init__.py卻能不會發生。
有沒有辦法導入告訴Python忽略軟件包的__init__.py的函數?
感謝
我試圖導入一個函數,它是在Python包內的模塊中,但是當我嘗試:導入模塊忽略__init__.py
from package.module import some_function
的Python執行了這個包的__init__.py卻能不會發生。
有沒有辦法導入告訴Python忽略軟件包的__init__.py的函數?
感謝
答案是否定的,你不能沒有被執行__init__.py導入一個Python包。根據定義,爲了創建一個包,你必須在該目錄中放置一個__init__.py。
但是,您可以創建一個空的__init__.py文件。
如果你只想導入從一個模塊的功能,你可以使用:
import sys
sys.path.append('path_to_package/')
from module import some_function
注意,這是一個骯髒的解決方案,而不會總是工作。
爲什麼你想忽略'__init __。py' –
我不完全確定你的意思是「但它不會發生。」但簡短的答案是否定的,你不能告訴python忽略該文件。你可以使用'sys.path'來發揮其他功能,但最多隻能是黑客入侵。也許你可以重構一些東西,使你的'__init __。py'爲空?或者至少不會導致任何不良副作用? – jszakmeister
http://stackoverflow.com/questions/7533480/why-is-init-py-not-being-called – Vatsal