溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么正確認(rèn)識Python源文件

發(fā)布時間:2021-11-02 17:36:13 來源:億速云 閱讀:224 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關(guān)怎么正確認(rèn)識Python 源文件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

使用Python 源文件在構(gòu)建腳本的底部,可以定義 compile 目標(biāo),Python 源文件內(nèi)在元素是 compile 運行期間執(zhí)行的任務(wù),特別的是 py-compile 任務(wù),它負(fù)責(zé)從 src 目錄開始,編譯所有的 Python 代碼。

該任務(wù)會遞歸遍歷所有的子目錄,并編譯所有的 Python 模塊。腳本中沒有采用將 src 目錄硬編碼到調(diào)用之處的方式,而是在構(gòu)建腳本中定義了稱為 src.dir 的屬性。然后,在需要使用這個目錄名的時候。

就可以通過 ${src.dir} 來引用。 要運行構(gòu)建腳本,可從 Eclipse 中打開它。Eclipse 具有內(nèi)置的 Ant 構(gòu)建腳本編輯和瀏覽功能。Outline 視圖可以顯示出構(gòu)建腳本的結(jié)構(gòu)。在 Navigator 視圖中。

選擇該構(gòu)建腳本,用右鍵點擊,然后選擇“Run Ant...”。選擇 compile 目標(biāo),然后點擊“Run”。構(gòu)建腳本執(zhí)行過程中的輸出信息應(yīng)該顯示在 Console 視圖中,表示運行成功。 從對上述 pydoc 目標(biāo)的解析可看出。

  • 對Python編程技巧大總結(jié)

  • 對于Python設(shè)計語言特性進行全解析

  • 簡讀靈活性的Python編程語言

  • 有關(guān)Python版本大雜燴

  • 如何掌握Python異常處理問題

第 7 行聲明了目標(biāo)名稱,并指出它依賴于 init 和 compile 目標(biāo)。這意味著在運行 pydoc 目標(biāo)之前,Ant 必須保證 init 和 compile 目標(biāo)已經(jīng)運行,如果沒有,則首先運行這兩個目標(biāo)。

pydoc 目標(biāo)所依賴的 init 目標(biāo)在第 3 至第 5 行定義。 init 目標(biāo)僅僅創(chuàng)建了一個存放 PyDoc API 文檔文件的目錄。如前所述,要為所生成文檔的保存位置定義一個屬性,名為 pydoc.dir。

第 8 行開始是 py-doc 任務(wù)。如前所述,您傳入生成 pydoc 過程中所使用的 PYTHONPATH 。 destdir 屬性告訴 py-doc 任務(wù)將生成的 HTML 文檔輸出到何處。 第 9 至第 11 行定義了在生成文檔的過程中應(yīng)該處理哪些 Python 源文件。文件集是 Ant 腳本中通用的結(jié)構(gòu)。

可用于定義所操作的一組文件。這是一種很強大的特性,它使您能夠通過名字模式、布爾邏輯和文件屬性來選擇所要操作的文件。Ant 文檔中有這方面的完整描述。本例中遞歸選擇了“src”目錄下的所有文件。

Python 源文件中具有標(biāo)準(zhǔn)的單元測試框架(從 Python 2.3 開始。在 Python 2.2 中這只是可選模塊),與 Java jUnit 框架十分類似。測試用例的結(jié)構(gòu)與 jUnit 采用相同的方式。每一個待測試的類和模塊通常都具有自己的測試類。測試類中包含測試裝置(fixture)。

它們在 setUp 函數(shù)中初始化。每一個測試都編寫為測試類中的一個獨立的測試函數(shù)。unittest 框架會在測試函數(shù)之間循環(huán)往復(fù),先調(diào)用 setUp 、再測試函數(shù)、然后清除( tearDown )測試函數(shù)。請參閱清單 4 中的樣例。

import unittest  from pprint import pprint  import feedparser  class FeedparserTest(unittest.TestCase):      """      A test class for the feedparser module.      """            def setUp(self):          """          set up data used in the tests.          setUp is called before each test function execution.          """          self.developerWorksUrl = "testData/developerworks.rss"             def testParse09Rss(self):          """          Test a successful run of the parse function for a          0.91 RSS feed.          """          print "FeedparserTest.testParse09RSS()"                    result = feedparser.parse(self.developerWorksUrl)          pprint(result)          self.assertEqual(0, result['bozo'])                    self.assert_(result is not None)          channel = result['channel']          self.assert_(channel is not None)          chanDesc = channel['description']          self.assertEqual(u'The latest content from IBM developerWorks',              chanDesc)                    items = result['items']          self.assert_(items is not None)          self.assert_(len(items)> 3)          firstItem = items[0]          title = firstItem['title']          self.assertEqual(u'Build installation packages with               solution installation and deployment technologies',              title)          def tearDown(self):          """          tear down any data used in tests          tearDown is called after each test function execution.          """          pass                    if __name__ == '__main__':      unittest.main()

上述清單是實現(xiàn) feedparser 模塊基本測試功能的測試類。完整的測試類見 feedParserTest 項目下的 src/feedparserTest/FeedparserTest.py。step 函數(shù)負(fù)責(zé)準(zhǔn)備整個測試過程中需要使用的測試裝置,在本例中只有測試用的 RSS 文件的目錄。

測試函數(shù)將對其進行解析。testParse09Rss 是真正的測試函數(shù)。Python 源文件這個函數(shù)調(diào)用 feedparser.parse 函數(shù),傳遞測試用的 RSS 文件,輸出解析結(jié)果,并通過 TestCase 類的 assert 函數(shù)執(zhí)行基本的檢查統(tǒng)作。

如果任何 assert 的求值結(jié)果不是真,或是在執(zhí)行過程中拋出任何異常,unittest 就會報告一次測試失敗或錯誤。***的兩行負(fù)責(zé)在這個測試類內(nèi)部運行測試,方法是直接運行該模塊即可。

看完上述內(nèi)容,你們對怎么正確認(rèn)識Python 源文件有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI