1. 程式人生 > >Python基礎(三)文件操作

Python基礎(三)文件操作

對象 緩沖 修改內容 python imp 一個 寫到 enc 文件的

【對文件進行循環操作】

fw = open(‘nhy‘,‘w‘)

for line in fw:

  print(‘line:‘,line) #直接循環文件對象,每次循環的時候就是取每一行的數據

fw.flush() #把緩沖區裏面的數據立即寫到磁盤上。

with open(‘nhy‘,‘w‘) as fw, open(‘nhy2‘,‘w‘) as fw2 : #使用with,可以自動關閉文件,待文件使用完後(用with打開多個文件的寫法)
  fw.read()
  fw.write(‘xxx‘)

【文件修改】

**思路一:簡單粗暴直接

1、先獲取到文件裏面所有的內容
2、然後修改內容
3、清空原來文件裏面的內容
4、重新寫入

eg:將文件中的123替換為Python
f = open(‘users.txt‘,‘a+‘)
f.seek(0)
all_data = f.read()
new_data = all_data.replace(‘123‘,‘python‘)
f.seek(0)
f.truncate() #清空文件內容
f.write(new_data)
f.flush()
f.close()

**思路二:高效的處理方式

1、先打開原來的文件,再打開一個空文件
2、循環處理原來文件裏面每一行數據,處理完之後,寫到新文件裏面
3、把原來的文件刪除,把新文件的名字改成原來文件的名字

eg:修改文件,滿足如下要求:

1、前面的空格
2、把空行去掉
3、你替換you
4、寫到新文件裏
5、把原來的文件刪除,把新文件的名字改成原來文件的名字
import os
with open(‘words‘,encoding=‘utf-8‘) as fr, open(‘.words‘,‘w‘,encoding=‘utf-8‘) as fw:
   for line in fr:
    line = line.lstrip() #去掉左邊的空格
    if line:#判斷這一行是否有數據
    line = line.replace(‘你‘,‘you‘)#替換數據
    fw.write(line)#寫到新文件裏面

  os.remove(‘words‘)#刪除原來的文件
  os.rename(‘.words‘,‘words‘) #把新文件的名字改成原來文件的名字

Python基礎(三)文件操作