由於專案都建立在自己電腦上,沒有考慮怎麼能讓別人也簡單的匯入自己寫的模組,本文主要用於自己記錄與學習。
兩種匯入方法
1、第一種就是臨時的匯入路徑,在關閉shell之後就會復原,每次使用模組都需要重新匯入。具體操作如下圖所示:
這樣就可以把包含所想要匯入的模組的路徑放入sys.path中。
2、第二種是永久匯入路徑的方法之一,更改環境變數,在pythonpath中新增所想要匯入的模組的路徑。如果環境變數中沒有,就直接自己新建乙個pythonpath。如下圖所示:
這種新增方法不管你電腦裡有多少個版本的python,他們在執行時都會檢視在pythonpath**現的路徑,在剛新增完的時候,還是會反應沒有這個名字的module,所以需要重啟一下電腦,再次使用sys.path檢視所含路徑就會有了。
出現的小問題(不具有普遍性)
在新建ex47這個專案架構的時候,我的整個目錄結構是這樣的:
與練習46相對應的話,就是projects下面第乙個ex47為skeleton,再下一級目錄的ex47為name。
所以就出現了兩個ex47,這種命名使我產生了混淆,導致最開始跟著書上**建立game.py的時候我將該py放在了第乙個ex47目錄下,即與setup.py同級,導致在from … import …的時候,直接輸入from game import room即可測試成功,但是from ex47.game import room時則會顯示ex47中沒有game.py。
疑問(未測試)
之前出現的小問題使得from game import room可以直接呼叫,如果在projects下一級目錄中建立了另乙個專案(與ex47同級),同時 這個專案裡面也有game.py,且game.py裡也包含room類,但內容是不同的。那from game import room時會不會出現問題,它到底呼叫的是哪乙個?
笨辦法學C 練習30 自動化測試
原文 exercise 30 automated testing 譯者 飛龍 自動化測試經常用於例如python和ruby的其它語言,但是很少用於c。一部分原因是自動化載入和測試c的 片段具有較高的難度。這一章中,我們會建立乙個非常小型的測試 框架 並且使用你的框架目錄構建測試用例的示例。我接下來打...
笨辦法學Python
1.知識點 13節講的主要是module 模組 的概念,常用的語法是from xx import 依託於python強大的模組庫,使得呼叫十分輕鬆,功能十分強悍。argv叫做引數變數,可以理解為乙個包裹,在解包 unpack 的時候,將引數值賦給不同的變數名,其中第乙個變數是 隱藏 的,用來指代檔案...
笨辦法學Python(三十)
前一習題中你寫了一些 if 語句 if statements 並且試圖猜出它們是什麼,以及實現的是什麼功能。在你繼續學習之前,我給你解釋一下上一節的加分習題的答案。上一節的加分習題你做過了吧,有沒有?你認為 if 對於它下一行的 做了什麼?if 語句為 建立了乙個所謂的 分支 就跟 rpg 遊戲中的...