成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何正確認識Python 源文件

開發 后端
在介紹Python 源文件構建腳本之前,首先先讓大家認識下什么是Python,所謂Python語言:是一種面向對象、直譯式計算機程序設計語言。

使用Python 源文件在構建腳本的底部,可以定義 compile 目標,Python 源文件內在元素是 compile 運行期間執行的任務,特別的是 py-compile 任務,它負責從 src 目錄開始,編譯所有的 Python 代碼。

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

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

選擇該構建腳本,用右鍵點擊,然后選擇“Run Ant...”。選擇 compile 目標,然后點擊“Run”。構建腳本執行過程中的輸出信息應該顯示在 Console 視圖中,表示運行成功。 從對上述 pydoc 目標的解析可看出。#t#

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

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

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

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

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

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

  1. import unittest  
  2. from pprint import pprint  
  3. import feedparser  
  4. class FeedparserTest(unittest.TestCase):  
  5.     """  
  6.     A test class for the feedparser module.  
  7.     """  
  8.       
  9.     def setUp(self):  
  10.         """  
  11.         set up data used in the tests.  
  12.         setUp is called before each test function execution.  
  13.         """  
  14.         self.developerWorksUrl = "testData/developerworks.rss"         
  15.     def testParse09Rss(self):  
  16.         """  
  17.         Test a successful run of the parse function for a  
  18.         0.91 RSS feed.  
  19.         """  
  20.         print "FeedparserTest.testParse09RSS()"  
  21.           
  22.         result = feedparser.parse(self.developerWorksUrl)  
  23.         pprint(result)  
  24.         self.assertEqual(0, result['bozo'])  
  25.           
  26.         self.assert_(result is not None)  
  27.         channel = result['channel']  
  28.         self.assert_(channel is not None)  
  29.         chanDesc = channel['description']  
  30.         self.assertEqual(u'The latest content from IBM developerWorks',  
  31.             chanDesc)  
  32.           
  33.         items = result['items']  
  34.         self.assert_(items is not None)  
  35.         self.assert_(len(items)> 3)  
  36.         firstItem = items[0]  
  37.         title = firstItem['title']  
  38.         self.assertEqual(u'Build installation packages with   
  39.             solution installation and deployment technologies',  
  40.             title)  
  41.     
  42.     def tearDown(self):  
  43.         """  
  44.         tear down any data used in tests  
  45.         tearDown is called after each test function execution.  
  46.         """  
  47.         pass  
  48.                   
  49. if __name__ == '__main__':  
  50.     unittest.main()  

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

測試函數將對其進行解析。testParse09Rss 是真正的測試函數。Python 源文件這個函數調用 feedparser.parse 函數,傳遞測試用的 RSS 文件,輸出解析結果,并通過 TestCase 類的 assert 函數執行基本的檢查統作。

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

責任編輯:chenqingxiang 來源: IT168
相關推薦

2010-06-09 13:17:22

傳輸控制協議

2018-05-08 09:39:57

區塊鏈數字貨幣投資

2010-05-17 09:35:10

MySQL 字符集

2010-08-11 15:04:03

DB2備份

2021-01-01 14:58:13

C語言C++編程

2010-03-30 12:59:19

WIFI無線聯網技術

2010-09-28 14:23:29

網絡詐騙

2012-02-16 10:26:46

TD-LTE

2010-08-11 10:06:39

DB2數據庫

2010-07-29 11:07:23

DB2分區兼容性

2010-07-30 17:21:26

DB2數據庫編目

2017-03-13 08:29:19

2017-03-15 08:37:00

RS-485布線觀念

2010-08-04 17:10:37

DB2數據庫

2012-12-04 13:51:27

鼎韜觀點

2010-08-18 14:52:01

DB2數據庫賬戶

2011-05-19 10:29:40

對象數據庫關系數據庫

2020-08-25 07:16:20

Python資源文件文件

2010-08-03 11:39:08

DB2分區兼容性

2010-05-10 09:29:28

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩一区二区在线观看 | 国产一区二区三区网站 | 久久久久av | 久久久www成人免费无遮挡大片 | 色综合99 | 4hu最新网址 | 天天操天天干天天爽 | 日日噜噜噜夜夜爽爽狠狠视频, | 国产精品午夜电影 | 亚洲一区二区三区在线 | 青青久草 | 精品欧美乱码久久久久久 | 99久久久久久99国产精品免 | 亚洲国产精品久久久 | 欧美一区二区在线免费观看 | 羞羞视频在线观免费观看 | 亚洲精品美女 | 成人免费大片黄在线播放 | 精品国产欧美一区二区 | 中文字幕高清免费日韩视频在线 | 狠狠久久 | 欧美一区二区三区免费在线观看 | 欧洲成人午夜免费大片 | 伊人免费网 | jizz亚洲人| 国产一区二区三区四区五区加勒比 | 99精品欧美一区二区三区 | 国产一区二区三区色淫影院 | 黄色片在线观看网址 | 成人黄色在线观看 | 久久国产综合 | 97中文视频 | 久久偷人| 国产精品免费一区二区三区 | 成人精品高清 | 久久区二区 | 成人免费观看男女羞羞视频 | 亚洲精品久久久久久久久久久 | h肉视频 | av网站在线播放 | 中文字幕av网站 |