python學習——python中命令行參數和os模塊

python中的命令行參數

python中有一個模塊sys,sys.argv這個屬性提供了對命令行參數的訪問。命令行參數是調用某個程序時除程序名外的其他參數。

sys.argv是命令行參數的列表

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

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

#!/usr/bin/python
#coding:utf-8
import sys   ##加載sys這個模塊。
for i in range(len(sys.argv)):
    print "第%d個參數是:%s" % (i,sys.argv[i])
print

運行上面的腳本:

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腳本中經常用到,在這裏記錄一下。^-^



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章