1. 程式人生 > >Python的sys.path妙用

Python的sys.path妙用

在Python裡,經常遇到這樣一種情況,自己編寫的一些模組,想比較清晰地管理不同的模組,所以在當前目錄下面建立了不同的子目錄,如下圖:


在子目錄mod裡包含著要使用的py檔案,如果想要使用它,可以按模組的方式來匯入,但是有一種更簡單的方法,就是讓python搜尋到mod目錄,即可以使用了。


比如要使用上面的檔案test2.py,那麼就可以按下面的程式碼來編寫:

#python 3.5.3  
#2017-03-24 蔡軍生  http://blog.csdn.net/caimouse    
#

import sys
sys.path.append("mod/")
import test2

print(test2.test)

輸出如下:

========================= RESTART: D:\demo\test1.py =========================
test2
>>>

test2.py的內容如下:

test = 'test2'

通過這種方式,可以比較快捷地使用,而不用建立__init__.py檔案,並且還可以不管子目錄裡的依賴問題。

當然也可以使用安裝的方式,把這個模組安裝python庫目錄裡,但是那樣要製作安裝程式,又多了一道工序。

1. TensorFlow API攻略

2. TensorFlow入門基本教程

3. C++標準模板庫從入門到精通 

4.跟老菜鳥學C++

5. 跟老菜鳥學python

6. 在VC2015裡學會使用tinyxml庫

7. 在Windows下SVN的版本管理與實戰 

9.在VC2015裡使用protobuf協議

10.在VC2015裡學會使用MySQL資料庫


相關推薦

Python的sys.path

在Python裡,經常遇到這樣一種情況,自己編寫的一些模組,想比較清晰地管理不同的模組,所以在當前目錄下面建立了不同的子目錄,如下圖:在子目錄mod裡包含著要使用的py檔案,如果想要使用它,可以按模組的方式來匯入,但是有一種更簡單的方法,就是讓python搜尋到mod目錄,即可以使用了。比如要使用上面的檔案

循環的

要掌握 lin while循環 inpu 步驟 過程 猜想 有時 技術   當我們在學習程序設計的過程中,我們會發現有很多重復的步驟,變化的僅僅是當中的某一個變量,這就要引入我們的一個重要的知識——“循環”。循環就是重復執行語句,這是個很方便又很有意思的技術,可以重復操作任

Python:eval的和濫用

list 建議 表達式 博文 環境 dem 完整 定期 mat eval()函數十分強大,官方demo解釋為:將字符串str當成有效的表達式來求值並返回計算結果。 so,結合math當成一個計算器非常好用。 其它使用方法,能夠把list,tuple

css實現梯形(各種形狀)的網頁布局——transform的

建議 logs 網頁布局 mar 500px 實現 hidden .html order      在各式各樣的網頁中,經常會看到形狀特別的布局,比如說下面的這種排版方式:   這種視覺上的效果,體驗十分好。那麽他是如何來實現的呢

深入淺出 Javascript中apply、call、bind

com alt apply all 如何使用 name 深入 期待 單體模式   網上文章雖多,大多復制粘貼,且晦澀難懂,我希望能夠通過這篇文章,能夠清晰的提升對apply、call、bind的認識,並且列出一些它們的妙用加深記憶。  apply、call   在 ja

KMP的(利用next數組尋找字符串的循環節)

images 關系 其中 一次 容易 line 數組 最大 最小 利用KMP的next數組的性質,我們可以找到next數組的循環節。先說結論:設字符串長n,則若其 i % ( i – next[n] ) == 0 ,則其有循環節(循環節數目大於1),其循環節數目為 i /

#include "*.c"文件的

fcm 每次 weight 不同 int 文件夾 保存 程序設計 必須 今天我在看代碼的時候突然看到在一個.c文件裏包括了#include "*.c"代碼,這個讓我非常詫異,然後google了一下。才發現是這麽回事情。以下我寫了一個測試代碼。

font-szie=0的

真的 src 樣式 不讓 nbsp lin image lock cnblogs p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 { mar

C語言在linux內核中do while(0)之法

pos turn jsb world div fprintf cpp efault code 為什麽說do while(0) 妙?由於它的確就是妙,並且在linux內核中實現是相當的妙,我們來看看內核中的相關代碼: #define db_error(fmt, ..

集合的收集

其中 blog 語言 插入 目的 bcd odi ise fse 1)字典: 有序性 collections模塊: 1.OrderedDict: 有序字典 2.defaultdict: 帶有默認值的字典 OrderedDict: 使用dict時,Key是無序的。在對d

C語言中do...while(0)的-避免goto

java ng- pop execute size 釋放資源 and var text 使用goto的優雅並避免結構的混亂 將要跳轉到的語句用do{…}while(0) 包起來就可以。 reference #defien N 10 bool

python with 語句

body 原理 value 協議 span print int ger world class aa(): def bb(self): print("hhhh") return "hello world" de

關於setTimeout的

param 我們 als 分塊 csr tle 能夠 更新 val 定義 在指定的延遲時間之後調用一個函數或執行一個代碼片段 這個是setTimeout最主要的功能,但也是很坑的地方,首先javascript其實是運行在單線程的環境下,意味者定時器會在未來的某個時間支持,但

c# 擴展方法奇思基礎篇五:Dictionary<TKey, TValue> 擴展

ews public turn false div role 自我 cnblogs static Dictionary<TKey, TValue> 類是常用的一個基礎類,但用起來有時確不是很方便。本文逐一討論,並使用擴展方法解決。 向字典中添加鍵和值 添加鍵和值

Javascript:字符串分割split()

clas png toolbar new plain date rest 小明 空字符 轉載:http://www.cnblogs.com/kevinCoder/p/4554960.html Javascript:字符串分割split()妙用 概述: split()

Git Bash的 - 使用Linux命令

win32 ron 最小 可執行文件 es2017 都是 輸入 版本控制工具 原理 如何在Windows中使用Linux命令?   網上有很多說是安裝CygwinPortable 在cmd 窗口下是用linux 命令,但是還有一些缺陷。   其實對於程序員來說有一個非常

overflow--去除默認滾動條,內容仍可滾動

parent wid 文本 borde 去除 -- blog border 溢出 在開發中我們往往要去除默認滾動條,但是其在豎直方向的滾動效果仍然需要。 <div id="parent"> <div id="child">

骰子的---課堂答題

nbsp .get main note ext import 繼承 log 重慶 通過兩次的作業,我對類有了更深的理解,進一步的理解了類之間的依賴和繼承關系,這次的作業我是現在作業本上畫好類圖,然後根據自己的需求來建立自己的代碼體系,我發現這樣能夠起到事半功倍的作用。 主要

proc的

llb term over oar 網絡 moved jiffies .org working 今天在在公司做網絡驅動開發測試時,隨機包出現收包計數停止的現象,當時懷疑是DMA rx buffer不足導致,想通過對比收發包正常和收發包不正常是DMA相關寄存器的情況。 後跟蹤

【windows phone】CollectionViewSource的

.com edi mss 空間 eight mar item fontsize oba 在windows phone中綁定集合數據的時候,有時候需要分層數據,通常需要以主從試圖形式顯示。通常的方法是將第二個ListBox(主視圖)的數據源綁定到第一個ListBox (從視圖