1. 程式人生 > >python--檔案操作刪除某行

python--檔案操作刪除某行

整理了網路上的一些方法,一般有兩種方法:

第一種:是先把檔案讀入記憶體,在記憶體中修改後再寫入原始檔。

例子:將內容包含“123”的所有行刪去:

with open('C:/Users/lai/Desktop/1.txt','r') as r:
    lines=r.readlines()
with open('C:/Users/lai/Desktop/1.txt','w') as w:
    for l in lines:
       if '123' not in l:
          w.write(l) 

第二種:我們可以使用 open() 方法把需要修改的檔案開啟為兩個檔案,然後逐行讀入記憶體,找到需要刪除的行時,用後面的行逐一覆蓋。實現方式見以下程式碼。
with open('file.txt', 'r') as old_file:
  with open('file.txt', 'r+') as new_file:
 
    current_line = 0
 
    # 定位到需要刪除的行
    while current_line < (del_line - 1):
      old_file.readline()
      current_line += 1
 
    # 當前游標在被刪除行的行首,記錄該位置
    seek_point = old_file.tell()
 
    # 設定游標位置
    new_file.seek(seek_point, 0)
 
    # 讀需要刪除的行,游標移到下一行行首
    old_file.readline()
     
    # 被刪除行的下一行讀給 next_line
    next_line = old_file.readline()
 
    # 連續覆蓋剩餘行,後面所有行上移一行
    while next_line:
      new_file.write(next_line)
      next_line = old_file.readline()
 
    # 寫完最後一行後截斷檔案,因為刪除操作,檔案整體少了一行,原檔案最後一行需要去掉
    new_file.truncate()


相關推薦

python--檔案操作刪除

整理了網路上的一些方法,一般有兩種方法:第一種:是先把檔案讀入記憶體,在記憶體中修改後再寫入原始檔。 例子:將內容包含“123”的所有行刪去: with open('C:/Users/lai/Desktop/1.txt','r') as r: lines=r.rea

python--文件操作刪除

literal continue new imp odi comment server enc pre 方法一: import shutil with open(‘/path/to/file‘, ‘r‘) as f: with open(‘/path/to/f

Python檔案操作中的方法:.write()換

active =Truewhile active: message =input("\nPlease input your name:\n") if message =='q': break print("welcome " + message + " come to our

簡單的Python檔案操作(3)檔案的重新命名,刪除和對資料夾的操作

(1) 檔案的重新命名,刪除os模組中的rename()可以完成對檔案的重新命名操作rename(需要修改的檔名,新的檔名)import os os.rename("a.txt","b.txt")os模組中的remove()可以完成對檔案的重新命名操作remove(要刪除的檔

C語言檔案操作Python檔案操作的比較

無論是在C語言中還是在Python中,對檔案的操作都是直接實現了計算機內部與外部之間的互動; 通過將資料寫入檔案可以更好地實現資料的儲存,而不會在程式結束之後資料隨之消失, 而通過檔案的讀取操作則可以更好地避免自己講大量資料的手動輸入程式。   本篇文章主要介紹C語言以

Lesson 024 —— python 檔案操作

Lesson 024 —— python 檔案操作 open() 方法 Python open() 方法用於開啟一個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 OSError。 注意:使用 open() 方法一定要保證關閉檔案物件,即呼叫 close()

python檔案操作write與writelines的區別

python檔案操作write與writelines的區別 轉自:https://www.aliyun.com/jiaocheng/448958.html 摘要:write和writelines的區別 1write()需要傳入一個字串做為引數,否則會報錯 2writelin

python檔案建立,刪除,移動,複製,重新命名

os.sep 可以取代作業系統特定的路徑分隔符。windows下為 '\\' os.name 字串指示你正在使用的平臺。比如對於Windows,它是'nt',而對於Linux/Unix使用者,它是 'posix' os.getcwd() 函式得到當前工作目錄,即當前Pyth

python 檔案操作的相對路徑和絕對路徑(windows)

1.相對路徑 windows  '.\'表示當前路徑 with open(r'.\db\123.txt','w',encoding='utf-8') as f: f.write('abc')   2.絕對路徑 2.1 直接加死絕對路徑 with open('c:

python 檔案操作心得

import time import numpy as np t1=time.time() dict1={} for i in range(1,4935): dict1[i]=[] with open('/storage/st2/aiqiyi/train_v2.txt','r') as f:

Python 檔案操作 - 建立上下文管理器

上下文管理器,通俗的介紹就是:在程式碼塊執行前,先進行準備工作;在程式碼塊執行完成後,做收尾的處理工作。with語句常伴隨上下文管理器一起出現,經典場景有: with open('test.txt', 'r') as file: for line in file.readli

影象識別資料集處理——python 檔案操作

通過 excel 獲取資料集 資料集放在一個總資料夾中,excel中對影象標識做了記錄,我們需要通過讀取excel中的影象檔名來獲取相應的影象。 例項檔案結構如下: 源目錄 ├── 二級目錄1 │ ├──example_01.jpg │ └──example_02.

Python-檔案操作處理

一、檔案操作基礎功能: f = open("檔案.txt", 'r', 'utf-8') #讀的模式開啟檔案 f = open("檔案.txt", 'r+', 'utf-8') #寫讀模式開啟檔案 f = open("檔案.txt", 'rb') # 讀取為二進位制模式,用於網路傳輸 f = o

Python檔案操作中的a,a+,w,w+幾種方式的區別 ——轉載

轉載:https://blog.csdn.net/qq_38059635/article/details/81606977   第一步 排除檔案開啟方式錯誤: r只讀,r+讀寫,不建立 w新建只寫,w+新建讀寫,二者都會將檔案內容清零 (以w方式開啟,不能讀出。w+可讀

(D16)Python-檔案操作

Python-檔案操作 檔案:file 我穿上大頭皮鞋,走在凌冽荒野 檔案: 檔案時用於儲存資料的基本單位 檔案通常用來長期儲存 檔案中資料是以位元組為單位順序儲存 檔案的操作 開啟檔案 讀寫檔案 關閉檔案

Python檔案操作中的a,a+,w,w+,rb+,rw+,ra+幾種方式的區別

access_mode:開啟方式,r讀,w寫,a追加,r+ w+ a+ 都是以讀寫方式開啟,rb二進位制讀,wb二進位制寫,rb+ wb+ ab+二進位制讀寫  buffering:預設值  二、對檔案進行操作  將檔案中的內容讀入到一個字串變數/列表中 函式:read(),

Windows system 在python檔案操作時的路徑表示方法

file_path =(r'i:\vacpy\ch10\pi_digits.txt') #將檔案路徑儲存在變數file_path中with open (file_path) as file_object: contents = file_object.read() print(

Python從零開始系列連載(22)——Python檔案操作(下)

檔案寫入 之前講過了檔案開啟建立和關閉,我們接著來談談檔案寫入 之前我們說了使用open()加上檔案的絕對路徑或者相對路徑可以開啟檔案 這裡我們講一個更簡單的方法 我們匯入os模組 os模組是和作業系統相關的模組 在Python中這樣操作:

Python檔案操作

建立和開啟檔案 普通開啟方式 在Python中想要操作檔案需要先建立或者開啟指定的檔案並建立檔案物件,可以通過內建的open()函式實現。 file = open(FileName, mode , bu

python檔案操作規範

Python open() 函式語法 open(name[, mode[, buffering]]) 引數說明: name : 一個包含了你要訪問的檔名稱的字串值。 mode : mode 決定了開啟檔案的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個引數是非強制的,