python學習——python中命令列參數和os模組

來源:互聯網
上載者:User

python中的命令列參數

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

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

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

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

#!/usr/bin/python#coding:utf-8import 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指令碼中經常用到,在這裡記錄一下。^-^



本文出自 “linux學習” 部落格,請務必保留此出處http://zhou123.blog.51cto.com/4355617/1284377

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.