兩個使用Python腳本操作文件的小示例分享
1這是一個創(chuàng)建一個文件,并在控制臺寫入行到新建的文件中.
#!/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表示行結(jié)尾標志, 用本地變量名ls代替它節(jié)省了時間,并減少了消耗系統(tǒng)資源. 用 raw_input()讀入文件名 用列表all[]來保存每一行文本(它們暫時在內(nèi)存中). 最后創(chuàng)建文件后,用writelines()把內(nèi)存中的行寫入打開的文件中.
#!/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)注意:由于我們沒有移除代表每行結(jié)束的行結(jié)束符,我們不得不抵制 print 語句自動生成的行結(jié)束符 --通過在print 語句的最后加一個逗號可以達到這一目的
print 后沒有逗號是這種效果:
(2) try-except-else是一個新出現(xiàn)的語句,其中except子句是我們處理錯誤的地方.
注:兩個程序在執(zhí)行前,需要給文件增加可執(zhí)行權(quán)限.
$chmod a+x filename
相關(guān)文章
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
這篇文章主要介紹了PyTorch中model.zero_grad()和optimizer.zero_grad()用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python urlopen()和urlretrieve()用法解析
這篇文章主要介紹了Python urlopen()和urlretrieve()用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01如何在Python?中使用?join()?函數(shù)把列表拼接成一個字符串
這篇文章主要介紹了如何在Python?中使用?join()?函數(shù)把列表拼接成一個字符串,文章圍繞?join()?函數(shù)的相關(guān)資料展開詳細內(nèi)容,需要的小伙伴可以參考一下,希望對你有幫助2022-03-03Linux下使用python自動修改本機網(wǎng)關(guān)代碼分享
這篇文章主要介紹了Linux下使用python自動修改本機網(wǎng)關(guān)代碼分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-05-05pandas中apply和transform方法的性能比較及區(qū)別介紹
這篇文章主要介紹了pandas中apply和transform方法的性能比較,在文中給大家講解了apply() 與transform()的相同點與不同點,需要的朋友可以參考下2018-10-10Python基于mysql實現(xiàn)學生管理系統(tǒng)
這篇文章主要為大家詳細介紹了Python基于mysql實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02Pytorch中的backward()多個loss函數(shù)用法
這篇文章主要介紹了Pytorch中的backward()多個loss函數(shù)用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05