python模塊目錄
㈠ python有哪些模塊
Python是一門非常高級的編程語言,內置了許多標准模塊,比如:sys、os、datetime等。
os模塊
os.getcwd() # 獲取當前工作目錄,即當前python腳本工作的目錄路徑
os.chdir("dirname") # 改變當前腳本工作目錄;相當於shell下cd
os.curdir # 返回當前目錄: ('.')
os.pardir # 獲取當前目錄的父目錄字元串名:('..')
os.makedirs('dirname1/dirname2') # 可生成多層遞歸目錄
os.removedirs('dirname1') # 若目錄為空,則刪除,並遞歸到上一級目錄,如若也為空,則刪除,依此類推
os.mkdir('dirname') # 生成單級目錄;相當於shell中mkdir dirname
os.rmdir('dirname') # # 刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當於shell中rmdir dirname
os.listdir('dirname') # 列出指定目錄下的所有文件和子目錄,包括隱藏文件,並以列表方式列印
os.remove() # 刪除一個文件
os.rename("oldname","newname") # 重命名文件/目錄
os.stat('path/filename') # 獲取文件/目錄信息
os.sep # 輸出操作系統特定的路徑分隔符,win下為"\",linux下為"/"
os.linesep # 輸出當前平台使用的行終止符,win下為" ",Linux下為" "
os.pathsep # 輸出用於分割文件路徑的字元串 win下為;,Linux下為:
os.name # 輸出字元串指示當前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") # 運行shell命令,直接顯示
os.environ # 獲取系統環境變數
os.path.abspath(path) # 返回path規范化的絕對路徑
os.path.split(path) # 將path分割成目錄和文件名二元組返回
os.path.dirname(path) # 返回path的目錄。其實就是os.path.split(path)的第一個元素
os.path.basename(path) #
返回path最後的文件名。如何path以/或結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
os.path.exists(path) # 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) # 如果path是絕對路徑,返回True
os.path.isfile(path) # 如果path是一個存在的文件,返回True。否則返回False
os.path.isdir(path) # 如果path是一個存在的目錄,則返回True。否則返回False
os.path.join(path1[, path2[, ...]]) # 將多個路徑組合後返回,第一個絕對路徑之前的參數將被忽略
os.path.getatime(path) # 返回path所指向的文件或者目錄的最後訪問時間
os.path.getmtime(path) # 返回path所指向的文件或者目錄的最後修改時間
os.path.getsize(path) # 返回path的大小
sys模塊
sys.argv # 命令行參數List,第一個元素是程序本身路徑
sys.exit(n) # 退出程序,正常退出時exit(0)
sys.version # 獲取Python解釋程序的版本信息
sys.maxint # 最大的Int值
sys.path # 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變數的值
sys.platform # 返回操作系統平台名稱
datetime模塊
datetime.today()返回一個表示當前本期日期時間的datetime對象
datetime.now([tz])返回指定時區日期時間的datetime對象,如果不指定tz參數則結果同上
datetime.utcnow()返回當前utc日期時間的datetime對象
datetime.fromtimestamp(timestamp[, tz])根據指定的時間戳創建一個datetime對象
datetime.utcfromtimestamp(timestamp)根據指定的時間戳創建一個datetime對象
datetime.strptime(date_str, format)將時間字元串轉換為datetime對象
㈡ 如何在python3中正確導入同一目錄下的模塊
因為要absolute_import,這樣import webchat_sdk.basic應該沒問題了。
在 Python 2 裡面可以使用 import foo來導入相同目錄包下的模塊foo,在 Python 3 裡面就是導入的項目根目錄(最上層有__init__.py的目錄)包foo。 也就是說 Python 3 默認就是絕對導入的,import .foo只是相對於絕對導入來說的,並不是相對導入。
㈢ python 模塊的路徑搜索方法
導入一個叫 spam 的模塊時,解釋器先在當前目錄中搜索名為 spam.py 的文件。如果沒有找到的話,接著會到 sys.path 變數中給出的目錄列表中查找。 sys.path 變數的初始值來自如下:
輸入腳本的目錄(當前目錄)。
環境變數 PYTHONPATH 表示的目錄列表中搜索
(這和 shell 變數 PATH 具有一樣的語法,即一系列目錄名的列表)。
Python 默認安裝路徑中搜索。
Note
在支持符號鏈接的文件系統中,輸入的腳本所在的目錄是符號鏈接指向的目錄。 換句話說也就是包含符號鏈接的目錄不會被加到目錄搜索路徑中。
實際上,解釋器由 sys.path 變數指定的路徑目錄搜索模塊,該變數初始化時默認包含了輸入腳本(或者當前目錄), PYTHONPATH 和安裝目錄。這樣就允許 Python 程序了解如何修改或替換模塊搜索目錄。需要注意的是由於這些目錄中包含有搜索路徑中運行的腳本,所以這些腳本不應該和標准模塊重名,否則在導入模塊時 Python 會嘗試把這些腳本當作模塊來載入。這通常會引發錯誤。
㈣ 如何設置python模塊的默認搜索路徑
Python 的模塊搜索路徑 PYTHONPATH 類似 Java 的 CLASSPATH
由以下路徑組合而成,通過更改以下 4 者其中之一都可以改變 Python 模塊的默認搜索路徑:
1. 當前工作目錄
2. 操作系統的 PYTHONPATH 環境變數
3. Python 安裝目錄 lib/site-packages 中或 PYTHONPATH 中的 .pth 文件定義的路徑
如:find ~/my_lib -type d -print > ~/python2.6/site-packages/my_lib.pth
4. 運行時對 sys.path 的改變,如:
向後增加:
sys.path.append(path)
path 不要以 / 或 \ 結尾。
向前增加:
sys.path.insert(0, path)
㈤ 如何合理地規劃 Python 的項目目錄
我目前使用的 web 框架是 tornado ,用它來搭建 server ,我目前的項目文檔是這樣的(有些抄襲 flask 的框架):
└── myweb
├── fab.py
├── init.sh
├── log
└── myweb
├── README.md
├── apps
│ ├── config.py
│ ├── datadict.py
│ ├── handlers
│ ├── main.py
│ └── orm
├── samples
├── sql
├── tests
└── utils
myweb 為項目名稱,其中內部的 myweb 目錄為一個完整的項目包,最外部的 myweb 目錄,除了包括此項目,還有 init.sh 用來做項目初始化的某些工作, log 用來保存日誌, fab.py 是 fabric 命令的文件。
目前能滿足基本的需求,但是我想把它弄的更「專業化」。而且我一直好奇我所遇到的問題有沒有更好的解決辦法。
1.python 的 import ,「外引內」容易,但是「內引外」會很復雜。我沒有用相對引用(「..」的方式向上引用),首先那種寫法太挫了,再說 python 官方也不建議用那種寫法。我目前的做法是吧 myweb 作為一個項目的根目錄,直接添加到 python 的 PATH 目錄中,如果是 supervisor ,那就配置給 directory 就行了, myweb 作為根的好處就是其它部分去 import 模塊會非常容易(直接用絕對引用, import 就行了)。
2.我們的項目經常要發布到專門的伺服器上進行測試,我的做法是直接使用 fabric 發布到測試伺服器部署,但是並非完全的自動化部署,自動化運運行單元測試,是否有更好的解決方案?
3.我項目的內部和外部都有一個 myweb 文件夾,外部的算整個代碼庫( git 管理),而內部的算一個完整的 python 包,我目前還未想過使用 egg 來打包自己的項目,但是還是想了解下,這樣的布局方式是否有合理?
㈥ python 自創的模塊應該放在哪個文件夾中,我的是ubuntu系統,KED桌面
自建的模塊隨便放在哪個目錄下面都可以
不過要創建一個環境變數PYTHONPATH
把放自定義模塊的目錄放到這個環境變數裡面.
然後這個目錄下要有一個叫做__init__.py的文件,這個文件可以是空的
然後就可以直接Import了
㈦ 如何在linux環境下添加python模塊路徑
本人python菜鳥一枚,在學習python過程中,經常要按照教程編寫一些模塊和函數練手,剛開始只是在python shell中編寫,但是如果出錯就會非常悲劇,又要從頭開始編,而且重啟python後也要重新編寫模塊。所以希望能像bash編程那樣將腳本路徑添加到環境變數中,這樣修改起來也方便。以下內容均來源於網路及本菜鳥。
摘要:本文敘述了如何在linux環境下添加python模塊的路徑,第1部分介紹了如何查看python環境變數,第2部分介紹了如何將腳本放入python自帶的環境變數目錄中,第3部分介紹了如何將目錄放入python的環境變數中重啟python失效,第4部分介紹了如何為python添加永久環境變數目錄。這些方法可以使模塊的修改和重復使用更加方便,不用重復輸入。
1、首先,可以用python中的內建模塊sys來查看python的環境變數。
這些目錄都是python的環境變數。
2.接下來本菜鳥嘗試一下如果將提前寫好的python腳本放入這些目錄中,能不能在python中使用。別問為什麼跑題,本菜就想試一試^ -^。
選擇/usr/local/lib/python2.7/dist-packages/pip-7.1.2-py2.7.egg這個目錄,腳本名為my_mole.py,裡面只有一個名為c_to_f的函數,用來計算從攝氏溫度轉換為華氏溫度。
可以看到,腳本已經位於剛開始選定的的目錄下了。
我們現在來看看,在python中導入這個模塊。並按照「模塊.函數」的格式使用函數。
可以看到,導入模塊成功,其中的c_to_f函數也正確使用,10攝氏度=50華氏度。或者你在確定函數名不重名的前提下,可以from my_mole import c_to_f,這樣就可以直接使用函數c_to_f,而不需要模塊名作為前綴。
實驗成功,將腳本導入python自帶的環境變數目錄中是有效的,如果之前運行了python,再導入後並不用重啟python就可以導入模塊。
3.接下來我們回歸正題,如何自定義python環境變數目錄。最直接的想法是把目錄加到剛才的python環境變數中。可以使用sys.path.append('/.../....')。
然後再次查看path路徑,發現"/home/sh/python"目錄確實加入了。並且也可以使用。但是這種方法一旦退出python,剛才新加的目錄就消失了。
4.接下來介紹一種一勞永逸的方法,就是直接修改系統變數。
export PYTHONPATH=$PYTHONPATH:/..../..../,對,沒錯,直接在shell中敲這一行,目錄是你自定義的目錄,然後打開python,import my_mole,你就愉快的可以使用自定義的模塊了。
http://blog.sina.com.cn/s/blog_959cf80d0102vx3j.html
㈧ python 怎樣添加模塊載入路徑
這里主要介紹第二種方法:通過.ph文件進行設置,好處是可以將路徑設為永久路徑
在Python的安裝目錄下,找到Libsite-packages文件夾,在該文件夾下新建一個以.pth為後綴名的文件,編輯文件,內容為要添加的庫路徑。(我的文件名命名為setpath.pth)。添加路徑示例:文件內容寫入要引用的庫路徑
步驟1:建立文件,可以首先建立一個文本文檔,寫下路徑如D:\Python\mulib。我這里新建的文件路徑的文件夾命名為「mulib」
步驟3:將保存好的文件放在Python的site-packages文件夾中就完成了。
㈨ python的模塊文件放在哪個文件夾裡面
Python的模塊文件放在以下地方:
默認的在安裝文件的Libsite-packages路徑下面;
如果想自己控制這些模塊的話,可以放在任何地方,然後把這個路徑設置為環境變數即可。
㈩ python 模塊放在哪個文件夾
python目錄下Lib中的site-packages
python自帶的模塊就在Lib下