python 文件(file)操做

操做文件的通常流程有:linux

打開文件、文件處理、關閉文件windows

 

開開文件的模式有:spa

  • r,只讀模式(默認)。
  • w,只寫模式。【不可讀;不存在則建立;存在則刪除內容;】
  • a,追加模式。【不可讀; 不存在則建立;存在則只追加內容;】
"+" 表示能夠同時讀寫某個文件
  • r+,可讀寫文件。【可讀;可寫】 不能建立,覆蓋相同的字符寫入
  • w+,寫讀。【文件不存在建立,存在先清空後寫入】
  • a+,追加讀寫。【可讀,追加寫,默認光標在最後,讀取能夠用f.seek(0)移動到文件開頭進行讀取,可是寫不能,寫的時候光標會自動移動到最後面進行寫】
 
"U"表示在讀取時,能夠將 \r \n \r\n自動轉換成 \n (與 r 或 r+ 模式同使用)
  • rU
  • r+U

"b"表示處理二進制文件(如:FTP發送上傳ISO鏡像文件,linux可忽略,windows處理二進制文件時需標註)

  • rb
  • wb
  • ab

 

基本操做:rest

f = open(filename, 'r', encording='utf-8')
first_line = f.readline()
rest_data = f.read()  # 讀取剩下的全部內容,文件大時不要用
f.write('lastline')
f.close             # 關閉文件

全部操做:code

f.readlines()   # 返回一個列表,列表的元素爲每行的字符,包括換行符
f.tell()        # 返回當前光標所在的字符個數(從最前面開始)
f.seek(0)       # 「光標」 跳轉到文件開頭
f.truncate(5)    # 截斷操做,無論光標的當前位置,從文件開始位置數5個字符後去掉後面的字符,必須用r+權限
f.fileno()      # 文件標識符
f.read()        # 注意,不必定能全讀回來
f.write(str)    # 寫入字符串
f.readinto()    # 不要用
f.readall()     

f.readable()    # 是否可讀
f.seekable()    # 光標是否可跳轉
f.writeable()   # 是否可寫
 
with 語句,爲了不打開文件後忘記關閉,能夠經過管理上下文
with open(filename1, 'r', encoding='utf-8') as f1,
        open(filename2, 'w', encoding='utf-8') as f2,
        pass

 

循環文件內容:blog

# 循環文件,低效率,內存須要保留全部數據
for index, line in enumerate(f.readlines()):
    print(index,line)

# 循環文件,高效率, 內存只保留一行數據
for line in f
    print(line)
相關文章
相關標籤/搜索