天天看點

python學習——python中指令行參數和os子產品

python中的指令行參數

python中有一個子產品sys,sys.argv這個屬性提供了對指令行參數的通路。指令行參數是調用某個程式時除程式名外的其他參數。

sys.argv是指令行參數的清單

len(sys.argv)是指令行參數的個數

下面我們用一個簡單的例子來說明一下。

1

2

3

4

5

6

<code>#!/usr/bin/python</code>

<code>#coding:utf-8</code>

<code>import</code> <code>sys   </code><code>##加載sys這個子產品。</code>

<code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>len</code><code>(sys.argv)):</code>

<code>    </code><code>print</code> <code>"第%d個參數是:%s"</code> <code>%</code> <code>(i,sys.argv[i])</code>

<code>print</code>

運作上面的腳本:

python argv.py 1 2 3

結果如下:

第0個參數是:argv.py

第1個參數是:1

第2個參數是:2

第3個參數是:3

從上面的腳本運作結果我們能看得出來第一個參數是腳本名本身也就是第0個參數。其餘的一次類推。

有了這個sys.argv參數我們就可以向腳本傳遞一些我們想要用的參數。

另一個比較常用的子產品os.path可以完成對路徑的操作。它提供的函數可以完成管理和操作檔案路徑中的各個部分,擷取檔案或子目錄資訊,檔案路徑查詢操作。

下面列出一些os子產品中常用的函數:

函數名:作用:

os.mkfifo('path/filename')/os.mknod('path/filename',mode,device)建立命名管道/建立檔案系統節點

os.remove('path/filename') 删除檔案

os.rename('path/filename1','path/filename2')/renames() 重命名檔案

os.stat('path/filename') 傳回檔案資訊

os.symlink('path/filename','path/ln_filename') 建立符号連結

os.utime() 更新時間戳

os.tmpfile() 建立并打開('w+b')一個新的臨時檔案

os.walk() 生成一個目錄樹下的所有檔案名

目錄/檔案夾

os.chdir()/fchdir()  改變目前工作目錄/通過一個檔案描述符改變目前工作目錄

chroot() 改變目前程序的根目錄

listdir() 列出指定目錄的檔案

getcwd()/getcwdu() 傳回目前工作目錄/功能相同,但傳回一個Unicode對象

mkdir()/makedirs() 建立目錄/建立多層目錄

rmdir()/removedirs() 删除目錄/删除多層目錄

通路/權限

access()  檢驗權限模式

chmod()   改變權限模式

chown()/lchown()  改變ower和group ID /功能相同,但不會跟蹤連結

umask() 設定預設權限模式

檔案描述符操作

open() 底層的作業系統open(對于檔案,使用标準的内建open() 函數)

read()/write() 根據檔案描述符讀取/寫入資料

dup()/dup2()  複制檔案描述符号/功能相同,但是是複制到一個檔案描述符裝置号。

makedev() 從major和minor裝置号建立一個原始裝置号

major() /minor() 從原始裝置号獲得major/minor裝置号

下面是os.path子產品中的路徑名通路的一些函數

函數描述

os.path.basename()去掉目錄路徑,傳回檔案名

os.path.dirname() 去掉檔案名,傳回目錄路徑

os.path.join() 将分離的各部分組合成一個路徑名

os.path.split() 傳回(dirname(),basename())元組

os.path.splitdrive() 傳回(dirvename,pathname)元組

os.path.splitext() 傳回(filename,extension)元組

資訊

getatime() 傳回最近通路時間

getctime() 傳回檔案建立時間

getmtime() 傳回最近檔案修改時間

getsize() 傳回檔案大小(以位元組為機關)

查詢

exists() 指定路徑(檔案或目錄)是否存在

isabs() 指定路徑是否為絕對路徑

isdir() 指定路徑是否存在且為一個目錄

isfile() 指定路徑是否存在且為一個檔案

islink() 指定路徑是否存在且為一個符号連結

ismount() 指定路徑是否存在且為一個挂載點

samefile() 兩個路徑名是否指向同一個檔案

以上子產品和函數在python腳本中經常用到,在這裡記錄一下。^-^

本文轉自 ZhouLS 51CTO部落格,原文連結:http://blog.51cto.com/zhou123/1284377