Python OS 模組

dicksonjyl560101發表於2017-12-25
python os模組

Python的標準庫中的os模組包含普遍的作業系統功能。如果你希望你的程式能夠與平臺無關的話,這個模組是尤為重要的。即它允許一個程式在編寫後不需要任何改動,也不會發生任何問題,就可以在Linux和Windows下執行。

下面列出了一些在os模組中比較有用的部分。它們中的大多數都簡單明瞭。

os.sep 可以取代作業系統特定的路徑分割符。
os.name字串指示你正在使用的平臺。比如對於Windows,它是'nt',而對於Linux/Unix使用者,它是'posix'。
os.getcwd()函式得到當前工作目錄,即當前Python指令碼工作的目錄路徑。
os.getenv()和os.putenv()函式分別用來讀取和設定環境變數。
os.listdir()返回指定目錄下的所有檔案和目錄名。
os.remove()函式用來刪除一個檔案。
os.system()函式用來執行shell命令。
os.mkdir()函式用來建立目錄。
os.makedirs()函式用來建立目錄,如果此路徑中目錄沒有則自動建立,相當於linux下的mkdir -p。


os.linesep字串給出當前平臺使用的行終止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。

os.path.split()函式返回一個路徑的目錄名和檔名。

os.path.isfile()和os.path.isdir()函式分別檢驗給出的路徑是一個檔案還是目錄。

os.path.existe()函式用來檢驗給出的路徑是否真地存在

os和os.path模組
os.listdir(dirname):列出dirname下的目錄和檔案
os.getcwd():獲得當前工作目錄
os.curdir:返回但前目錄('.')
os.chdir(dirname):改變工作目錄到dirname
os.umask(mask):設定當前檔案許可權掩碼,並返回上一個許可權掩碼。
os.setsid():使獨立於終端的程式(不響應sigint,sighup等),使脫離終端。


os.path.isdir(name):判斷name是不是一個目錄,name不是目錄就返回false
os.path.isfile(name):判斷name是不是一個檔案,不存在name也返回false
os.path.exists(name):判斷是否存在檔案或目錄name
os.path.getsize(name):獲得檔案大小,如果name是目錄返回0L
os.path.abspath(name):獲得絕對路徑
os.path.normpath(path):規範path字串形式
os.path.split(name):分割檔名與目錄(事實上,如果你完全使用目錄,它也會將最後一個目錄作為檔名而分離,同時它不會判斷檔案或目錄是否存在)
os.path.splitext():分離檔名與副檔名
os.path.join(path,name):連線目錄與檔名或目錄
os.path.basename(path):返回檔名
os.path.dirname(path):返回檔案路徑

------------------------------------------------------------------------------

寫點東東,增加熟悉感

Code:


#!/usr/bin/python

import os

fadd = ("a.txt", "b.txt", "d/d.txt")
fdel = ("c.txt",)

InputPath = raw_input()
if(os.path.isdir(InputPath)==False):
print "you have input a incrrect path"
else:
os.chdir(InputPath)
bf = os.listdir(InputPath)
for f in fadd:
(dr, fl) = os.path.split(f)
ndr = os.getcwd()+"\"
if(dr!=""):
ndr = ndr+dr+"\"
os.mkdir(ndr)
os.chdir(ndr)
hf = file(ndr+fl, 'w')
hf.close()
os.chdir(InputPath)
for f in fdel:
os.remove(f)
af = os.listdir(InputPath)


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2149209/,如需轉載,請註明出處,否則將追究法律責任。

相關文章