Python--软件目录结构
目的不必多说:提高项目可读性、可维护性
软件目录结构示例:
Game/ |-- bin/ | |-- game.py | |-- core/ | |-- tests/ | | |-- __init__.py | | |-- test_main.py | | | |-- __init__.py | |-- main.py | |-- logs/ | |-- err.log | |-- run.log | |-- conf/ | |-- setting.py | |-- abc.rst | |-- setup.py |-- requirements.txt |-- README
那么问题来了,当类似于如上的目录结构时,我怎么在game.py中去调用setting.py或者main.py中的函数呢???
解(有解给2分):
首先,需要通过os.path.abspath(__file__)获取到game.py的绝对路径,进而方便找到setting.py文件的位置
然后,再通过os.path.dirname()方法回到文件的父级目录以及更上级的目录
最后,将项目的绝对路径通过sys.path.append()添加到系统环境变量中
此时,就可以调用啦,上栗子(真香!!!)
setting.py
1 def Aset(): 2 print("这里是配置")
main.py
1 def hello(name): 2 print("hello,%s,这里是主函数" % name)
game.py
import os import sys print(os.path.abspath(__file__)) print(os.path.dirname(os.path.abspath(__file__))) print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR) from conf import setting from core import main setting.Aset() main.hello("tj") >>> F:\Python\资料\第二次学习\study\week4\day06\Game\bin\game.py F:\Python\资料\第二次学习\study\week4\day06\Game\bin F:\Python\资料\第二次学习\study\week4\day06\Game 这里是配置 hello,tj,这里是主函数
相关推荐
夜斗不是神 2020-11-17
huavhuahua 2020-11-20
Yasin 2020-11-16
xiaoseyihe 2020-11-16
千锋 2020-11-15
diyanpython 2020-11-12
chunjiekid 2020-11-10
wordmhg 2020-11-06
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16