0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解Python項(xiàng)目推薦結(jié)構(gòu)

python爬蟲知識(shí)分享 ? 來(lái)源:python爬蟲知識(shí)分享 ? 作者:python爬蟲知識(shí)分享 ? 2022-03-28 15:56 ? 次閱讀

在真正項(xiàng)目中,一般使用PyCharm或VSCode開(kāi)發(fā)。那有的小伙伴就問(wèn)了,項(xiàng)目文件目錄有沒(méi)有一個(gè)標(biāo)準(zhǔn)的結(jié)構(gòu)?

應(yīng)該沒(méi)有唯一的統(tǒng)一標(biāo)準(zhǔn),但Python社區(qū)大佬Kenneth Reitz在2013年提出一個(gè)Python項(xiàng)目目錄結(jié)構(gòu),推薦你日后項(xiàng)目中參考。

Python項(xiàng)目推薦結(jié)構(gòu)
Kenneth推薦目錄結(jié)構(gòu),如下所示:

samplemod-master
├── LICENSE
├── MANIFEST.in
├── Makefile
├── README.rst
├── docs
│   ├── Makefile
│   ├── conf.py
│   ├── index.rst
│   └── make.bat
├── requirements.txt
├── sample
│   ├── __init__.py
│   ├── core.py
│   └── helpers.py
├── setup.py
└── tests
   ├── __init__.py
   ├── context.py
   ├── test_advanced.py
   └── test_basic.py
一共3個(gè)文件夾,17個(gè)文件。

先來(lái)看看第一個(gè)文件夾docs,它是項(xiàng)目相關(guān)文檔,包括依賴包安裝的Makefile和make.bat,項(xiàng)目配置conf.py,項(xiàng)目介紹文檔index.rst,是比README.rst更細(xì)化的一個(gè)文檔,README.rst更像一個(gè)項(xiàng)目總覽。

第二個(gè)文件夾sample,在Python中一般叫做包(package),它是項(xiàng)目核心代碼,一般會(huì)有多個(gè)這種包,__init__.py是Python包包括的文件。core.py和helpers.py是sample包里兩個(gè)核心模塊。

第三個(gè)包tests,是對(duì)應(yīng)于sample包的單元測(cè)試包,里面的模塊名稱一般以test開(kāi)頭,測(cè)試sample里的每個(gè)模塊。

setup.py是做什么的?
有了上面三個(gè)最主要的包外,文件最重要的有setup.py,這個(gè)文件是做什么的?

簡(jiǎn)單來(lái)說(shuō),setup.py是和打包相關(guān)的配置模塊,一般結(jié)合setuptools。

有了setup.py,我們就可以安裝包到本地全局環(huán)境,或者上傳到PyPi,這樣全世界開(kāi)發(fā)者都有機(jī)會(huì)搜索到你的包,并使用pip安裝上你的包。

里面代碼相對(duì)比較標(biāo)準(zhǔn)和固定,比如在這個(gè)項(xiàng)目里代碼如下:

from setuptools import setup, find_packages

with open('README.rst') as f:
   readme = f.read()
with open('LICENSE') as f:
   license = f.read()
setup(
   name='sample',
   version='0.1.0',
   description='Sample package for Python-Guide.org',
   long_description=readme,
   author='Kenneth Reitz',
   author_email='me@kennethreitz.com',
   url='https://github.com/kennethreitz/samplemod',
   license=license,
   packages=find_packages(exclude=('tests', 'docs'))
)

看到這里面用到README.rst和LICENSE文件,并且指定打哪些包分發(fā)出去。
審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 結(jié)構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    117

    瀏覽量

    21527
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84078
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    用pycharm進(jìn)行python爬蟲的步驟

    提供了許多有用的功能,如代碼自動(dòng)完成、調(diào)試和版本控制等。您可以從JetBrains的官方網(wǎng)站下載PyCharm,并根據(jù)您的需求選擇免費(fèi)社區(qū)版或付費(fèi)專業(yè)版。 創(chuàng)建一個(gè)新的Python項(xiàng)目 打開(kāi)
    的頭像 發(fā)表于 07-11 10:11 ?396次閱讀

    python中open函數(shù)的用法詳解

    python中open函數(shù)的用法詳解 Python中的open()函數(shù)用于打開(kāi)文件。它接受文件名和模式作為參數(shù),并返回一個(gè)文件對(duì)象。文件對(duì)象可用于讀取、寫入和管理文件。 open()函數(shù)的基本語(yǔ)法
    的頭像 發(fā)表于 01-30 15:31 ?1505次閱讀

    Python智能家居系統(tǒng)代碼介紹

    Python智能家居系統(tǒng)是一種基于Python編程語(yǔ)言開(kāi)發(fā)的智能家居控制系統(tǒng),在現(xiàn)代家庭中得到了越來(lái)越廣泛的應(yīng)用。本文將詳細(xì)介紹Python智能家居系統(tǒng)的代碼實(shí)現(xiàn),包括系統(tǒng)的結(jié)構(gòu)與功能
    的頭像 發(fā)表于 01-25 09:46 ?1029次閱讀

    pycharm怎么配置python環(huán)境變量

    PyCharm 是一種以 Python 為主的集成開(kāi)發(fā)環(huán)境 (IDE),它提供了一系列的功能用于開(kāi)發(fā)、調(diào)試、測(cè)試和部署 Python 程序。在使用 PyCharm 開(kāi)發(fā) Python 項(xiàng)目
    的頭像 發(fā)表于 11-29 14:56 ?2230次閱讀

    python idle在哪里找到

    Python IDLE是一種集成開(kāi)發(fā)環(huán)境(Integrated Development Environment,簡(jiǎn)稱IDE),用于編寫和運(yùn)行Python語(yǔ)言的代碼。它是Python官方提供的標(biāo)準(zhǔn)
    的頭像 發(fā)表于 11-29 14:39 ?873次閱讀

    詳解高密 PCB走線布線的垂直導(dǎo)電結(jié)構(gòu) (VeCS)

    詳解高密 PCB走線布線的垂直導(dǎo)電結(jié)構(gòu) (VeCS)
    的頭像 發(fā)表于 11-28 17:00 ?1241次閱讀
    <b class='flag-5'>詳解</b>高密 PCB走線布線的垂直導(dǎo)電<b class='flag-5'>結(jié)構(gòu)</b> (VeCS)

    windows7可以安裝python什么版本

    Windows 7可以安裝多個(gè)Python版本,以下是適用于Windows 7的常見(jiàn)Python版本: Python 2.7:Python 2是2.x系列的最后一個(gè)版本,它是許多舊代碼
    的頭像 發(fā)表于 11-23 17:15 ?2.4w次閱讀

    python寫完程序之后怎么運(yùn)行

    對(duì)Python程序的執(zhí)行流程有更深入的了解。 一、Python程序的基本結(jié)構(gòu) Python程序是由一系列的語(yǔ)句構(gòu)成,語(yǔ)句是指一行代碼或多行代碼組成的指令集合。一個(gè)
    的頭像 發(fā)表于 11-22 11:10 ?839次閱讀

    pycharm中python interpreter怎么設(shè)置

    在PyCharm中設(shè)置Python解釋器非常簡(jiǎn)單,只需按照以下步驟操作: 打開(kāi)PyCharm,并打開(kāi)你的項(xiàng)目。 在菜單欄中選擇"File"(文件),然后選擇"Settings"(設(shè)置)。在
    的頭像 發(fā)表于 11-22 11:08 ?2559次閱讀

    python列表和數(shù)組的區(qū)別

    Python是一種功能強(qiáng)大的編程語(yǔ)言,為開(kāi)發(fā)者提供了許多數(shù)據(jù)結(jié)構(gòu)來(lái)處理和操作數(shù)據(jù)。其中,列表和數(shù)組是常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和組織一系列元素。在本文中,我們將詳細(xì)比較Python中的列
    的頭像 發(fā)表于 11-21 15:13 ?1870次閱讀

    Python項(xiàng)目中遇到的10個(gè)安全陷阱

    極少的微妙之處或細(xì)節(jié)會(huì)使開(kāi)發(fā)者們疏忽大意,從而在代碼中引入嚴(yán)重的安全漏洞。 在這篇博文中,我們將分享在實(shí)際 Python 項(xiàng)目中遇到的 10 個(gè)安全陷阱。我們選擇了一些在技術(shù)圈中不太為人所知的陷阱。通過(guò)介紹每個(gè)問(wèn)題及其造成的影響,我們希望提高人們對(duì)
    的頭像 發(fā)表于 10-30 10:34 ?390次閱讀

    一文詳解python條件判斷

    今天給大家?guī)?lái)python條件判斷。
    發(fā)表于 10-01 10:48 ?661次閱讀

    一文詳解python循環(huán)

    今天給大家?guī)?lái)python循環(huán)。
    發(fā)表于 10-01 10:48 ?5352次閱讀
    一文<b class='flag-5'>詳解</b><b class='flag-5'>python</b>循環(huán)

    一文詳解python調(diào)用函數(shù)

    函數(shù)被定義后,本身是不會(huì)自動(dòng)執(zhí)行的,只有在被調(diào)用后,函數(shù)才會(huì)被執(zhí)行,得到相應(yīng)的結(jié)果。但是在 Python 中我們要注意一個(gè)關(guān)鍵點(diǎn),就是Python不允許前向引用,即在函數(shù)定義之前,不允許調(diào)用該函數(shù)。
    發(fā)表于 10-01 10:45 ?512次閱讀

    Python編程實(shí)用指南

    介紹 Python 語(yǔ)言的基礎(chǔ)知識(shí),而且還通過(guò)項(xiàng)目實(shí)踐教會(huì)讀者如何應(yīng)用這些知識(shí)和技能。本書的第一部分介紹了基本的 Python 編程概念,第二部分介紹了一些不同的任務(wù),通過(guò)編寫 Python
    發(fā)表于 09-27 06:21