Python裡的OS模組常用函數說明

來源:互聯網
上載者:User

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

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

 

os.sep可以取代作業系統特定的路徑分隔字元。windows下為 “\\”

os.name字串指示你正在使用的平台。比如對於Windows,它是'nt',而對於Linux/Unix使用者,它是'posix'。

os.getcwd()函數得到當前工作目錄,即當前Python指令碼工作的目錄路徑。

os.getenv()擷取一個環境變數,如果沒有返回none

os.putenv(key, value)設定一個環境變數值

os.listdir(path)返回指定目錄下的所有檔案和目錄名。

os.remove(path)函數用來刪除一個檔案。

os.system(command)函數用來運行shell命令。

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

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

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

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

os.curdir:返回目前的目錄('.')
os.chdir(dirname):改變工作目錄到dirname

os.path.getsize(name):獲得檔案大小,如果name是目錄返回0L

os.path.abspath(name):獲得絕對路徑
os.path.normpath(path):規範path字串形式

os.path.splitext():分離檔案名稱與副檔名
os.path.join(path,name):串連目錄與檔案名稱或目錄
os.path.basename(path):返迴文件名
os.path.dirname(path):返迴文件路徑

 

第一個python程式(python 3.1.2)

 

建立檔案(makeTextFile.py)

"這個指令碼提醒使用者輸入一個(尚不存在的)檔案名稱,然後由使用者輸入該檔案的每一行。最後,將所有文本寫入檔案"#!/user/bin/env python'makeTextFile.py -- create text file'import osls = os.linesep#get filenamefilename = input('Enter a file name:')while True:    if os.path.exists(filename):        print("ERROR: '%s' already exists" % filename)    else:        break#get file content(text) linesall = []print("\nEnter lines ('.' by iteself to quit).\n")#loop until user terminates inputwhile True:    entry = input('>')    if entry == '.':        break    else:        all.append(entry)#write lines to file with proper line-endingfobj = open(filename, 'w')fobj.writelines(['%s%s' %(x, ls) for x in all])fobj.close()print("Done!")

程式很簡單,相對複雜的就下面這句話

fobj.writelines(['%s%s' %(x, ls) for x in all])

這個列表解析,把每行字元加上一個行結束符寫入到檔案裡。

 

讀取檔案(readTextFile.py)

#!/user/bin/env python'readTextFile.py -- read and display text file'#get file namefname = input('Enter file name:')print()#attempt to open file for readingtry:    fobj = open(fname, 'r')except IOError as e:    print("*** file open error", e)else:    #display contents to the screen    for eachLine in fobj:        print(eachLine, end='')            fobj.close()

這個裡面加入了一些異常處理

裡面可能比較奇怪的就是我自己修改的這句話了

        print(eachLine, end='')       

print裡面加入end=’’這個參數可以消除print自身添加的分行符號,那樣就是可以保持輸出顯示是和原檔案一模一樣了,不然每行就會多個分行符號。

 

你還可以採用這樣的方法來去掉那個分行符號

print(eachLine.strip())

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.