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

