【python】建立,讀取檔案

楊奇龍發表於2011-07-20
透過指明開啟的檔案和模式來建立一個file類的例項。模式可以為讀模式('r')、寫模式('w')或追加模式('a')。
用寫模式開啟檔案,然後使用file類的write方法來寫檔案,最後用close關閉這個檔案。再一次開啟同一個檔案來讀檔案。如果程式中沒有指定模式,讀模式會作為預設的模式。在一個迴圈中,使用readline方法讀檔案的每一行。這個方法返回包括行末換行符的一個完整行。所以,當一個 空的 字串被返回的時候,即表示檔案末已經到達了,於是我們停止迴圈。
注意,因為從檔案讀到的內容已經以換行符結尾,在print語句上使用逗號來消除自動換行。
下面的例子使用了 file, open兩種方式來讀取檔案,注意兩者的不同。
#!/etc/bin/python
#!-*- coding:utf8 -*- 
# Filename using_file.py

content ='''\
this is a test file,using file class to make a new file with this text
   yangql is a boy ,like oracle ,although there is lots of things  there for me to  
   learn .I think it is a good chance to be a excellent  DBA '''

filename= 'yangql-DBA.txt'
fileobj = file(filename,'w')--以寫的方式建立一個檔案
fileobj.write(content)--向檔案中寫入內容
fileobj.close()

f = file(filename) --以file()的方式開啟剛才建立的檔案,預設是讀。

print '-----------------make file yangql-DBA.TXT  successfully!!--------------'
print '-----------------the follow text comes from yangql-DBA.txt-------------'
print ' '
while True:
  line = f.readline()
  if len(line) ==0: 
     break
  print line,
f.close()
print ' '
print '----------------the follow text comes from open class  func------------'
fobj = open(filename,'r')
for eachline in fobj:
  print eachline,

fobj.close()                                                                                                                                                     
"using_file.py" 36L, 853C written                                                                                                                    
[yang@rac1 python]$ python  using_file.py
-----------------make file yangql-DBA.TXT  successfully!!--------------
-----------------the follow text comes from yangql-DBA.txt-------------
 
this is a test file,using file class to make a new file with this text
   yangql is a boy ,like oracle ,although there is lots of things  there for me to  
   learn .I think it is a good chance to be a excellent  DBA   
----------------the follow text comes from open class  func------------
this is a test file,using file class to make a new file with this text
   yangql is a boy ,like oracle ,although there is lots of things  there for me to  
   learn .I think it is a good chance to be a excellent  DBA 
[yang@rac1 python]$ 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-702692/,如需轉載,請註明出處,否則將追究法律責任。

相關文章