簡體   English   中英

在python3中的模塊中導入兄弟文件

[英]importing sibling file in a module in python3

我的python項目有這個目錄結構

├── main.py
└── util
    ├── color.py
    ├── __init__.py
    └── student.py

main.py是:

from util.student import fun
fun("calling fun from main")

color.py是:

def color_fun(a):
    print(a)

student.py是:

from color import color_fun

def fun(var):
    color_fun(var)

if __name__ == "__main__":
    fun("calling fun from student")

__init__.py為空

當我嘗試運行python3 student.py它按預期工作。 但是當我嘗試運行python3 main.py它沒有按預期工作,而它在python2中工作正常。

我想運行python3 student.py以及python3 main.py我怎么能實現這個?

您需要做的就是在student.py稍作修改

def fun(var):
    color_fun(var)

if __name__ == "__main__":
    from color import color_fun
    fun("calling fun from student")
else:
    from util.color import color_fun

Python3的PYTHONPATH導致了這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM