標籤:ram mil ica body print 修改 int 分行符號 讀寫
[注]雖是轉載,但會在原文上有些修改!
open/檔案操作
f=open(‘/tmp/hello‘,‘w‘)
#open(路徑+檔案名稱,讀寫入模式)
#讀寫入模式:r唯讀,r+讀寫,w建立(會覆蓋原有檔案),a追加,b二進位檔案.常用模式
如:‘rb‘,‘wb‘,‘r+b‘等等
讀寫入模式的類型有:
rU 或 Ua 以讀方式開啟, 同時提供通用分行符號支援 (PEP 278)
w 以寫方式開啟,
a 以追加模式開啟 (從 EOF 開始, 必要時建立新檔案)
r+ 以讀寫入模式開啟
w+ 以讀寫入模式開啟 (參見 w )
a+ 以讀寫入模式開啟 (參見 a )
rb 以二進位讀模式開啟
wb 以二進位寫入模式開啟 (參見 w )
ab 以二進位追加模式開啟 (參見 a )
rb+ 以二進位讀寫入模式開啟 (參見 r+ )
wb+ 以二進位讀寫入模式開啟 (參見 w+ )
ab+ 以二進位讀寫入模式開啟 (參見 a+ )
注意:
1、使用‘W‘,檔案若存在,首先要清空,然後(重新)建立,
2、使用‘a‘模式 ,把所有要寫入檔案的資料都追加到檔案的末尾,即使你使用了seek()指向檔案的其他地方,如果檔案不存在,將自動被建立。
f.read([size]) size未指定則返回整個檔案,如果檔案大小>2倍記憶體則有問題.f.read()讀到檔案尾時返回""(空字串)
file.readline() 返回一行
file.readline([size]) 此處修改為返回指定位元組數的字串
假如常值內容為#1.txt1111111111122222222222#程式是f = open(‘1.txt‘,‘r‘)print f.readline(2)print f.readline()則結果是:1122222222222
for line in f: print line #通過迭代器訪問
f.write("hello\n") #如果要寫入字串以外的資料,先將他轉換為字串.
f.tell() 返回一個整數,表示當前檔案指標的位置(就是到檔案頭的位元數).
f.seek(位移量,[起始位置])
用來移動檔案指標
位移量:單位:位元,可正可負
起始位置:0-檔案頭,預設值;1-當前位置;2-檔案尾
f.close() 關閉檔案
Code:
#!/usr/bin/env python # Filename: using_file.py
poem=‘‘‘\Programming is funWhen the work is doneif you wanna make your work also fun: use Python!‘‘‘ f=file(‘poem.txt‘,‘w‘) # open for ‘w‘riting f.write(poem) # write text to file f.close() # close the file f=file(‘poem.txt‘)
# if no mode is specified, ‘r‘ead mode is assumed by default while True: line=f.readline() if len(line)==0: # Zero length indicates EOF break print line, # Notice comma to avoid automatic newline added by Python f.close() # close the file |
from:http://hi.baidu.com/zzfxz/blog/item/1c4d73cb4aa2c814bf09e613.html
【轉】PYTHON open/檔案操作