兩個使用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-06
Python urlopen()和urlretrieve()用法解析
這篇文章主要介紹了Python urlopen()和urlretrieve()用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01
如何在Python?中使用?join()?函數(shù)把列表拼接成一個字符串
這篇文章主要介紹了如何在Python?中使用?join()?函數(shù)把列表拼接成一個字符串,文章圍繞?join()?函數(shù)的相關(guān)資料展開詳細內(nèi)容,需要的小伙伴可以參考一下,希望對你有幫助2022-03-03
Linux下使用python自動修改本機網(wǎng)關(guān)代碼分享
這篇文章主要介紹了Linux下使用python自動修改本機網(wǎng)關(guān)代碼分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-05-05
pandas中apply和transform方法的性能比較及區(qū)別介紹
這篇文章主要介紹了pandas中apply和transform方法的性能比較,在文中給大家講解了apply() 與transform()的相同點與不同點,需要的朋友可以參考下2018-10-10
Python基于mysql實現(xiàn)學生管理系統(tǒng)
這篇文章主要為大家詳細介紹了Python基于mysql實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02
Pytorch中的backward()多個loss函數(shù)用法
這篇文章主要介紹了Pytorch中的backward()多個loss函數(shù)用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05

