兩個使用Python指令碼操作檔案的小樣本分享

來源:互聯網
上載者:User
1這是一個建立一個檔案,並在控制台寫入行到建立的檔案中.

#!/usr/bin/env python  'makeTextFile.py -- create text file'  import os ls = os.linesep  #get filename while True:   fname = raw_input('Enter filename:')   if os.path.exists(fname):     print "ERROR: '%s' already exists" % fname   else:     break  #get file content (text) lines all = [] print "\nEnter lines('.' by itself to quit).\n"  #loop until user terminates input while True:   entry = raw_input('>')   if entry == '.':     break   else:     all.append(entry)  #write lines to file with proper line-ending fobj = open(fname, 'w') fobj.writelines(['%s%s' % (x, ls) for x in all]) fobj.close() print 'DONE!' os.linesep表示行結尾標誌, 用本地變數名ls代替它節省了時間,並減少了消耗系統資源.用 raw_input()讀入檔案名稱用列表all[]來儲存每一行文本(它們暫時在記憶體中).最後建立檔案後,用writelines()把記憶體中的行寫入開啟的檔案中.

2.這是一個讀特定檔案內容的小程式.

#!/usr/bin/env python  'readTextFile.py -- read and display text file'  #get filename fname = raw_input('Enter filename: ') print  #attempt to open file for reading try:   fobj = open(fname, 'r') except IOError, e:   print "*** file open error:", e else:   #display contents to the screen   for eachLine in fobj:     print eachLine,   fobj.close() 


(1)注意:由於我們沒有移除代表每行結束的行結束符,我們不得不抵制 print 語句自動產生的行結束符 --通過在print 語句的最後加一個逗號可以達到這一目的
print 後沒有逗號是這種效果:

(2) try-except-else是一個新出現的語句,其中except子句是我們處理錯誤的地方.

注:兩個程式在執行前,需要給檔案增加可執行許可權.

$chmod a+x filename
  • 聯繫我們

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