精华内容
下载资源
问答
  • python删除文件最后一行

    万次阅读 2018-10-05 17:14:19
    csv中最后一行都是空行 严重的是第二个问题,因为在写文件的时候都是这样写的 line = "somethings you want to write"+"\n"1 因此,每个文件最后都有一个空行。在前端显示的时候老出现type i ...

    今天在修改数据分析平台的BUG时候,发现两个历史遗留问题。

    1. 不能加载中文文件
    2. csv中最后一行都是空行

    严重的是第二个问题,因为在写文件的时候都是这样写的

    line = "somethings you want to write"+"\n"1
    

    因此,每个文件最后都有一个空行。在前端显示的时候老出现type i is undefined前端显示文件我用的datatable这个jQuery库,正常显示都是这样的
    这里写图片描述

    但是因为有一个空行就不能分页,因为在遍历的时候,遇到的item都不一样
    最后的解决方案是这样的:

    1. 读取文件
    2. 直接定位到最后一个字符
    3. 向上读一个字符
    4. 判断是否是”\n”
    5. 执行删除
    6. 关闭文件

    具体的代码如下:

    # -*- coding: utf-8 -*-
    """
    Created on Wed Aug 23 10:04:25 2017
    
    @author: APAC
    """
    import os
    f = open("Take.csv","rb+")
    f.seek(-1 ,os.SEEK_END)
    if f.next() == "\n":
        f.seek(-1 ,os.SEEK_END)
        f.truncate()
    f.close()12345678910111213
    

    实际测试效率还可以

    转载自:https://blog.csdn.net/he_min/article/details/77500798

    展开全文
  • 【Python】删除文件最后一行

    千次阅读 2020-05-08 13:22:26
    打开文件后逐行读取同时记录指针位置,由于读取完一行后指针位于行尾,所以在读取完最后一行后需要将指针移到上一行末尾然后调用f.truncate()。为存储倒数第二行末尾的位置,我们需要一个1 ×\times× 2的数组存储...

    法一

    思路:

    打开文件后逐行读取同时记录指针位置,由于读取完一行后指针位于行尾,所以在读取完最后一行后需要将指针移到上一行末尾然后调用f.truncate()。为存储倒数第二行末尾的位置,我们需要一个1 ×\times 2的数组存储文件指针位置:

    # 打开文件,由于只有二进制模式才支持移动指针操作,所以第二个参数要有'b'。
    f = open('test.txt', 'rb+')
    line = f.readline()
    pos = [0, f.tell()]
    
    # 读完最后一行后如果继续调用f.readline会返回 b'',也就是空行,
    # 所以当line = b''时我们便可以确定文件已读完。
    while line != b'':
        line = f.readline()
        temp = f.tell()
        # 跳出循环时line的内容是 b'' 即此时已经读到了最后一行的下一行,
        # 但由于它是空行所以指针的位置并不会变,但是如果继续更新数组pos
        # 的内容会导致倒数第二行的位置信息被覆盖,所以加个判断。
        if temp != pos[1]:
            pos[0] = pos[1]
            pos[1] = temp
    
    # 得到了倒数第二行末尾的位置,我们就可以直接从文件起始位置移动到那里。
    # f.seek第二个参数为0表示从文件起始位置移动。
    # f.truncate没有参数时表示从文件开头截取到当前位置,剩余部分删除。
    f.seek(pos[0], 0)
    f.truncate()
    f.close()
    

    法二

    思路:

    直接从文件末尾向前移动足够长距离越过最后一行,然后读取指针后的全部内容,由于读取结果是列表,且每个元素就是一行内容,可以将除了最后一个元素以外的其他元素的长度求和,从而得到指针移动到倒数第二行末尾所需的移动距离:

    # 打开文件。参数同法一。
    f = open('test.txt', 'rb+')
    # f.seek第一个参数是向前移动的字节数,须做好估计以保证能越过最后一行。注意是负值。
    # f.seek第二个参数2表示从文件末尾移动。
    f.seek(-50, 2)
    content = f.readlines()
    dist = 0
    
    for i in content:
        dist += len(i)
        
    offset = dist - len(content[-1])
    # 注意以上算出的不是从文件头到倒数第二行末尾的位置,所以要先将指针复位。
    f.seek(-50, 2)
    f.seek(offset, 1)
    f.truncate()
    f.close()
    

    如果该文对你有帮助,请点个赞~

    展开全文
  • 如:1.txt dwefewqe werwerwe wrwe wer eeeeeeeeeeee 要删除eeeeeeeeee这一行
  • linux 删除文件最后一行数据

    千次阅读 2018-07-04 16:23:59
    sed -i '$d' fileNameeg: mac 上Linux上:

    sed -i '$d' fileName

    eg: mac 上

    Linux上:


    展开全文
  • linux命令_删除文件最后一行

    万次阅读 2016-12-02 14:25:19
    //fileName 文件名 sed -i '$d' fileName

    //fileName 文件名

    sed -i '$d' fileName

    展开全文
  • 最近写脚本处理文本文件最后一行换行符的数据做简单总结 1、将文件file.txt最后一行有换行符的数据追加到一个临时文件temp.txt中(这里可以直接处理掉最后一行的换行符,只把内容追加 到temp.txt文件中) tail -n1...
  • php删除txt文件最后一行

    千次阅读 2017-08-14 11:00:18
    * 删除文件最后一行 * @param $file_path 文件路径 */ public function delLastLine($file_path){ $file = $fp = fopen($file_path, 'r') or die("Unable to open file!"); while(!feof($file)){ $fp = f
  • linux 删除文件最后一行

    千次阅读 2019-05-23 11:55:39
    文件名是filename ...因为博主设置了启动时自动挂载ntfs分区,用这个指令去删除fstab的最后几行自己写挂载指令就没错了。由于博主没有安装vim,因此只能用sed指令来改,不过还算是解决了问题!! sed -i '$d'...
  • shell 怎么删除文件最后一行

    万次阅读 2016-04-19 13:18:14
    s (2013-02-21 16:17:02) 转载▼ ...shell 怎么删除文件的最后一行 ...怎么删除文件的最后一行,我收集了6种,如:sed -i ...删除文件最后一行 1. tail -n 1 file 2. tail -1 filename 3. sed -n ’$p’ filenam
  • 如何删除文件最后一行

    千次阅读 2019-04-23 10:45:12
    比如我们需要对名为 myfile 的 3G 文件做操作,需要删除最后一行,使用 vim 的话会一次性打开文件,会占用大量内存,可能会出现被卡死的情况发生,那么怎么实现在不占用内存的情况下实现该操作呢? 方式一 # ...
  • Linux删除文件一行

    万次阅读 2019-02-20 14:23:39
    如果想要删除最后一行,但是不知道文件一共几行,可以通过 cat filename | wc -l 获取总行数,再删除,或者直接使用命令 sed -i "$d" filename 删除最后一行 例子: $ ls test.txt $ ...
  • vi 跳到文件最后一行

    千次阅读 2018-07-30 14:33:41
     :$ 跳到文件最后一行 :0或:1 跳到文件第一行  或 另外一组命令:  gg 跳到文件第一行 Shift + g 跳到文件最后一行  常用的操作:  查看当前目录:pwd 修改密码:passwd 更换模式:csh,bash  远程登陆:telnet ...
  • linux 删除文件一行的方法

    万次阅读 2018-08-31 08:50:15
    删除第一行 sed -i '1d' filename 范围删除删除1-3行 sed -i '1,3d' filename 删除第n行 sed -i 'nd' filename 删除最后一行 sed -i '$d' filename
  • 用Java修改文件最后一行数据

    千次阅读 2017-12-01 16:13:15
    用Java修改文件最后一行数据
  • 以下是我获取了改文件 pswpath = dev.GetPackageDirPath()+"\\download\\ascii\\"+ipaddr+"\\shadow" 我需要读取shadow的最后一行并且删除它 但不影响其他数据该怎么写
  • windows下要提取文件夹下所有文本文件最后一行到一个文件中,行前面加上待提取文本的文件名,可新建bat文件,写入以下批处理代码 @echo off set blank= setlocal enabledelayedexpansion for /f %%i in ('dir /b^...
  • 删除文件第一行: ...删除文件最后一列: sed -i '$d' fileName 比较文件的方法: 1)comm -3 --nocheck-order file1 file2 2) grep -v -f file1 file2: 输出file2中有file1中没有的行 diff file1 file2 ...
  • windows bat命令 如何获取文件最后一行 使用bat语法获取文本文件的最后一行内容 方法/步骤 打开bat编辑器 PS:可以使用记事本、notepad++、EditPlus等可以编辑文本文件的软件,在这里笔者使用的是一款名为...
  • C++正确读取文件最后一行

    万次阅读 热门讨论 2018-08-26 08:00:59
    使用C++ ifstream来读取文件时,发现在读到文件结尾时会多读一行。测试代码如下, #include <iostream> #include <fstream> #...
  • shell-删除文件最后一行

    万次阅读 2012-05-17 16:33:19
    sed -i '$d' inputfile
  • 当我们在服务器端记录...上网浏览终于找到dd命令,亲测如下,删除一个32GB的日志文件最后100仅需要4分钟 [root@game1_10 tmp]# dd of=sqq_jobs_run.log.bak seek=1 bs=$(($(stat -c%s sqq_jobs_run.log.bak)-$(t...
  • 一个使用RandomAccessFile来**操作文本文件最后一行**的工具类
  • 参考csdn论坛上写的。...读取末操作: public static String readendline(String filename) throws Exception { RandomAccessFile file0 = new RandomAccessFile(filename, "r"); long start = file0.g
  • 读取文件最后一行的两种方式

    千次阅读 2016-06-08 02:46:00
    '''读取文件最后一行''' import os # 小文件:批量读取 def get_last_line(filename='mark.csv'): fullfilename = os.path.join(os.path.dirname(__file__), filename) with open(fullfilename, 'r', ...
  • linux/windows批量删除csv文件一行

    千次阅读 2019-07-01 18:22:25
    需要批量删除某文件夹下所有csv文件或者txt文件一行 方法 将该文件夹导入到linux系统; 打开命令窗口,cd到该文件夹下 运行如下命令 #删除该文件夹下所有csv文件的第一行 sed -i "1d" *.csv #删除该...
  • 注:有的地方视情况而定,比如nextend = start+len-1, 如果是空文件就会出错了可以把-1 去掉 读取末操作: [code="java"] public static String readendline(String filename) throws ...
  • csv中最后一行都是空行 严重的是第二个问题,因为在写文件的时候都是这样写的line = "somethings you want to write"+"\n"因此,每个文件最后都有一个空行。在前端显示的时候老出现type i is undefined前端显示文件...
  • Linux sed之删除文件一行

    万次阅读 2017-04-19 19:06:40
    使用sed命令 删除第一行 sed -i '1d' filename 删除第n行 sed -i 'nd' filename 删除最后一行 sed -i '$d' filename
  • sed -i '$d' file

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 668,811
精华内容 267,524
关键字:

删除文件最后一行