欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中的項(xiàng)目目錄結(jié)構(gòu)

 更新時(shí)間:2024年02月18日 14:37:46   作者:沒(méi)有刺的仙人掌  
這篇文章主要介紹了python中的項(xiàng)目目錄結(jié)構(gòu),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、常見(jiàn)的結(jié)構(gòu)

關(guān)于如何組織一個(gè)較好的Python工程目錄結(jié)構(gòu),已經(jīng)有一些得到了共識(shí)的目錄結(jié)構(gòu)。

在Stackoverflow的這個(gè)問(wèn)題上,能看到大家對(duì)Python目錄結(jié)構(gòu)的討論。

這里面說(shuō)的已經(jīng)很好了,我也不打算重新造輪子列舉各種不同的方式,這里面我說(shuō)一下我的理解和體會(huì)。

假設(shè)你的項(xiàng)目名為foo, 我比較建議的最方便快捷目錄結(jié)構(gòu)這樣就足夠了:

Foo/
|-- bin/
|   |-- foo
|
|-- foo/
|   |-- tests/
|   |   |-- __init__.py
|   |   |-- test_main.py
|   |
|   |-- __init__.py
|   |-- main.py
|
|-- docs/
|   |-- conf.py
|   |-- abc.rst
|
|-- setup.py
|-- requirements.txt
|-- README

簡(jiǎn)要解釋一下

  • bin/: 存放項(xiàng)目的一些可執(zhí)行文件,當(dāng)然你可以起名script/之類的也行。
  • foo/: 存放項(xiàng)目的所有源代碼。

(1) 源代碼中的所有模塊、包都應(yīng)該放在此目錄。不要置于頂層目錄。

(2) 其子目錄tests/存放單元測(cè)試代碼;

(3) 程序的入口最好命名為main.py。

  • docs/: 存放一些文檔。
  • setup.py: 安裝、部署、打包的腳本。
  • requirements.txt: 存放軟件依賴的外部Python包列表。
  • README: 項(xiàng)目說(shuō)明文件。

除此之外,有一些方案給出了更加多的內(nèi)容。

比如LICENSE.txt,ChangeLog.txt文件等,我沒(méi)有列在這里,因?yàn)檫@些東西主要是項(xiàng)目開源的時(shí)候需要用到。

二、如何解決多次目錄下數(shù)據(jù)的導(dǎo)入?

1.比如main.py

導(dǎo)入docs文件中的conf.py中的函數(shù)

from docs improt conf         #這樣的導(dǎo)入是不成功的

因?yàn)閒rom導(dǎo)入的是該目錄即foo文件下的文件夾,docs與foo文件夾是一級(jí)的目錄導(dǎo)入不成功

2.解決方案

import os,sys
 
path = os.path.join(os.path.dirname(os.path.abspath(__file__))) 
#返回腳本的絕對(duì)路徑
sys.path.append(path)
#臨時(shí)添加搜索路徑,這種方法導(dǎo)入的路徑會(huì)在python程序退出后失效。
 
 
 
#path1=os.path.abspath(__file__)
#print(path1)#當(dāng)前文件的絕對(duì)路徑
 
#path2=os.path.dirname(os.path.abspath(__file__))
#print(path2)#當(dāng)前文件的上一層目錄的絕對(duì)路徑
 
#path3=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#print(path3)#當(dāng)前文件的上上層目錄的絕對(duì)路徑
 
#os.path.join()函數(shù)用于路徑拼接文件路徑

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論