精华内容
下载资源
问答
  • info here 2. more stuff here 3. even more stuff here 解决方案def DeleteToDo(): print ("Which Item Do You Want To Delete?") DeleteItem = raw_input(">") #select a line number to delete print ("Are You ...

    1586010002-jmsa.png

    I have a file where each line starts with a number. The user can delete a row by typing in the number of the row the user would like to delete.

    The issue I'm having is setting the mode for opening it. When I use a+, the original content is still there. However, tacked onto the end of the file are the lines that I want to keep. On the other hand, when I use w+, the entire file is deleted. I'm sure there is a better way than opening it with w+ mode, deleting everything, and then re-opening it and appending the lines.

    def DeleteToDo(self):

    print "Which Item Do You Want To Delete?"

    DeleteItem = raw_input(">") #select a line number to delete

    print "Are You Sure You Want To Delete Number" + DeleteItem + "(y/n)"

    VerifyDelete = str.lower(raw_input(">"))

    if VerifyDelete == "y":

    FILE = open(ToDo.filename,"a+") #open the file (tried w+ as well, entire file is deleted)

    FileLines = FILE.readlines() #read and display the lines

    for line in FileLines:

    FILE.truncate()

    if line[0:1] != DeleteItem: #if the number (first character) of the current line doesn't equal the number to be deleted, re-write that line

    FILE.write(line)

    else:

    print "Nothing Deleted"

    This is what a typical file may look like

    1. info here

    2. more stuff here

    3. even more stuff here

    解决方案def DeleteToDo():

    print ("Which Item Do You Want To Delete?")

    DeleteItem = raw_input(">") #select a line number to delete

    print ("Are You Sure You Want To Delete Number" + DeleteItem + "(y/n)")

    DeleteItem=int(DeleteItem)

    VerifyDelete = str.lower(raw_input(">"))

    if VerifyDelete == "y":

    FILE = open('data.txt',"r") #open the file (tried w+ as well, entire file is deleted)

    lines=[x.strip() for x in FILE if int(x[:x.index('.')])!=DeleteItem] #read all the lines first except the line which matches the line number to be deleted

    FILE.close()

    FILE = open('data.txt',"w")#open the file again

    for x in lines:FILE.write(x+'\n') #write the data to the file

    else:

    print ("Nothing Deleted")

    DeleteToDo()

    展开全文
  • 这是我的文本文件:[54, 95, 45, -97, -51, 84, 0, 32, -55, 14, 50, 54, 68, -3, 57, 88, -1][24, 28, 38, 37, 9, 44, -14, 84, -40, -92, 86, 94, 95, -62, 12, -36, -12][-26, -67, -89, -7, 12, -...

    我一直在网上搜索,但没有找到任何好的解决方案.

    这是我的文本文件:

    [54, 95, 45, -97, -51, 84, 0, 32, -55, 14, 50, 54, 68, -3, 57, 88, -1]

    [24, 28, 38, 37, 9, 44, -14, 84, -40, -92, 86, 94, 95, -62, 12, -36, -12]

    [-26, -67, -89, -7, 12, -20, 76, 88, -15, 38, -89, -65, -53, -84, 31, -81, -91]

    [-19, -50, 16, 47, -42, -31, 75, 0, 25, -95, 75, 97, 19, 77, -2, -31, -59]

    [-66, -10, 35, -39, 24, 70, 74, -45, -27, 77, -44, 86, 57, 14, -91, -26, -20]

    [-63, 80, -31, 70, 100, 22, -30, 74, 44, -35, -25, -75, -39, -13, -93, 0, 1]

    [63, 13, 67, 55, -56, 45, 10, 61, -14, -55, 40, 84, -59, 7, 75, -64, -25]

    [7, -50, -17, -86, -43, 34, 82, 84, 49, 18, 56, -31, -19, 59, -96, 72, -40]

    [-73, 34, -68, 20, 30, 1, 49, 77, -94, 2, -83, 40, 2, 20, 66, 60, -36]

    [-80, -12, 93, 77, 73, -55, 24, 3, -60, 12, -41, -43, -49, 36, 6, -93, -24]

    [-41, 12, -43, 42, -70, 75, -84, -83, 30, 78, -3, 51, 69, 0, 65, 60, -15]

    [82, 97, -57, -96, 25, -100, 61, 13, -80, -32, 99, 60, 58, -58, -45, -58, -53]

    [-90, -34, 80, 95, -12, -34, 71, -83, 46, 10, -78, -40, 65, 53, -81, 40, -59]

    [-80, -20, -87, -2, -54, 74, -79, 22, -20, 60, -84, -12, -40, -98, -81, -5, -35]

    [33, 36, -46, 10, -77, 88, -99, -5, 19, -20, 89, 87, -47, 46, 10, 17, -67]

    [-77, 73, 20, 44, 79, -14, -8, -49, 45, -49, -91, -21, 41, -13, 74, -71, -15]

    [98, -99, 51, 53, 56, -78, 31, 45, 35, -36, -10, -86, 9, 94, 24, -2, -20]

    [-37, 46, -77, -92, 48, -34, 75, 19, -74, -13, -100, 33, -46, 19, -60, 5, 5]

    [-13, -30, -82, -70, 64, 87, 16, 67, -36, 22, -99, -92, 36, 8, 90, 48, -5]

    [46, 75, -15, 24, 24, -37, -3, -45, 32, -84, -2, -16, 43, -88, 92, 27, -10]

    我想要的是删除第一行(这意味着使用第二行作为第一行,而不是用空格填充第一行).

    有人可以帮我吗?

    展开全文
  • Python删除文件第

    千次阅读 2020-12-02 14:01:27
    firstline():for line in fileinput.input("file.txt", inplace = 1):if not fileinput.isfirstline():print(fileinput.replace("\n", ""))、使用的库:fileinputfileinput模块提供处理一个或多个文本文件的功能,...

    一、代码实例:

    def del_firstline():

    for line in fileinput.input("file.txt", inplace = 1):

    if not fileinput.isfirstline():

    print(fileinput.replace("\n", ""))

    二、使用的库:fileinput

    fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。

    三、fileinput常用函数

    1 fileinput.input() #返回能够用于for循环遍历的对象

    2 fileinput.filename() #返回当前文件的名称

    3 fileinput.lineno() #返回当前已经读取的行的数量(或者序号)

    4 fileinput.filelineno() #返回当前读取的行的行号

    5 fileinput.isfirstline() #检查当前行是否是文件的第一行

    6 fileinput.isstdin() #判断最后一行是否从stdin中读取

    7 fileinput.close() #关闭队列

    展开全文
  • C语言删除TXT文本文件最后一

    千次阅读 2021-02-17 21:52:55
    希望能将给定txt文件的最后一(无论是空行还是)删掉,并直接保存,而不是另存为某个新的txt文件。 例1: 原文件: 1234567 abcdefg 处理后: 1234567 例2: 原文件: Hello World! 处理后: Hello World!...

    思路分析

    目的

    希望能将给定txt文件的最后一行(无论是空行还是第一行)删掉,并直接保存,而不是另存为某个新的txt文件。

    例1:

    原文件:
    1234567
    abcdefg
    处理后:
    1234567
    

    例2:

    原文件:
    Hello World!
    
    处理后:
    Hello World!
    

    例3:

    原文件:
    This is an example.
    处理后
    
    

    算法流程

    大体思路如下:

    1. 以只读方式打开原文件。
    2. 以只写方式打开一个临时文件。
    3. 通过从原文件末尾向前查找换行符的方式确定最后一行的位置
    4. 从原文件开头逐个读取字符,写入临时文件,直到第3步中确定的位置
    5. 关闭文件,保存。
    6. 将原文件删除,将临时文件重命名为原文件的名称。

    注:本文只用C语言实现,没有C++的内容。

    几个需要注意的点

    所用的函数

    基本上就这几个:

    errno_t __cdecl fopen_s(FILE **_Stream, const char *_FileName, const char *_Mode)
    
    int __cdecl fseek(FILE *_Stream, long _Offset, int _Origin)
    
    • fgetc& fputc& fclose& ftell
    • remove& rename

    具体用法看后面的源码吧,都不难,这里提供一个C++的帮助文档:cplusplus,大部分时候都挺好用的,所有函数都有例程,还可以在线跑例程。

    二进制模式与文本模式

    在使用fopen_s打开文件时,可以在第三个参数_Mode中添加字符b来开启二进制模式,否则为文本模式。

    例如,fopen_s(&oldFile, txtFilePath, "rb")就是开启了二进制模式。

    这两者的区别几乎只在于换行符,在本人的编程环境 Win10 Visual Studio 2019 (v142) 下:

    • 二进制模式读取的换行符为2个字符\r\n;而文本模式为2个字符\n\n
    • 二进制模式写入\n再读取为\n;而文本模式写入\n再读取为\r\n,即文本模式将\n填补为了完整的换行符

    可以这么理解:

    • 二进制模式下,写入、读取和实际存储的数据,一定相同
    • 文本模式下,写入、读取和实际存储的数据,不一定相同

    fseek的坑

    fseek的第三个参数_Origin有以下三个选择:

    常量代表的参考位置
    SEEK_SET文件开头
    SEEK_CUR文件指针的当前位置
    SEEK_END文件末尾

    (第二个参数_Offset代表相对于参考位置的偏移量,在此不展开赘述)

    有趣的事情来了,使用SEEK_SET或者SEEK_END结合适当的偏移量都可以让文件指针换行,但SEEK_CUR无论偏移多少都无法让文件指针换行,十分地不明所以。

    源码

    Talk is cheap. Show me the code.

    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
    	//初始化变量
    	FILE* oldFile;
    	FILE* newFile;
    	char txtFilePath[] = "data.txt";
    	char tmpFilePath[] = "data_tmp.txt";
    
    	//用"r"方式打开文件进行读取,"w"方式打开文件进行写入
    	//使用二进制模式而不是文本模式打开文件(后面加了"b"),是为了处理起来更准确
    	//二进制模式可以保证写入什么字符,就是什么字符,主要是在换行符上有作用
    	//二进制模式下如果写入"\n",就是1个字符"\n",而文本模式下会自动填充成2个字符"\r\n"
    	if (fopen_s(&oldFile, txtFilePath, "rb") || fopen_s(&newFile, tmpFilePath, "wb")) {
    		printf("Error while opening file. \n");
    		return 1;
    	}
    
    	char buffer = 0; //存储读取的字符
    	//从文件末尾开始向前寻找"\n"换行符,并记录位置
    	int curPos = 1; //当前光标位置
    	while (true) {
    		fseek(oldFile, -curPos, SEEK_END); //移动光标到文件倒数第curPos个字符前
    		if (ftell(oldFile) == 0) {
    			//若没有查找到,且光标已经位于文件开头,说明文件只有一行,则退出循环,删除该行
    			break;
    		}
    		buffer = fgetc(oldFile); //读取字符到buffer
    		//printf("%c", buffer); //输出查看
    		if (buffer == '\n') {//注:C++中,双引号""表示字符串,单引号''表示字符,字符与字符串不能进行比较运算
    			//换行符在二进制模式下为2个字符"\r\n",在文本模式下为2个字符"\n\n"
    			//若查找到了,说明光标处于"\r"和"\n"之间,将光标再前移1次
    			fseek(oldFile, -curPos - 1, SEEK_END); //将光标定位在倒数第二行的换行符前
    			//退出循环,删除该换行符及之后的内容
    			break;
    		}
    		else {
    			//若没有查找到,则继续向前查找
    			curPos++;
    		}
    	}
    	int endPos = ftell(oldFile); //记录该光标位置
    
    	//将从文件开头到endPos的内容复制到临时文件中
    	fseek(oldFile, 0, SEEK_SET); //当前光标回到文件开头
    	while (true) {
    		curPos = ftell(oldFile);
    		if (curPos == endPos) {
    			break;
    		}
    		buffer = fgetc(oldFile); //读取字符到buffer
    		fputc(buffer, newFile);
    	}
    
    	//关闭文件,保存
    	fclose(oldFile);
    	fclose(newFile);
    
    	//删除旧文件,将临时文件名称改为旧文件名称,得到新文件
    	remove(txtFilePath);
    	if (rename(tmpFilePath, txtFilePath)) {
    		printf("Error while renaming file. \n");
    		return 2;
    	}
    
    	//结束
    	printf("Successful. \n");
    	return 0;
    }
    

    结语

    很久没写C了,其实C++会的也不多……一直都是纯C写得多一点。

    C给人的感觉就是一切都尽在掌握,自己会对代码的一举一动了如指掌,以及无比地僵硬(其实我还挺喜欢这种感觉的)。

    网上的代码千奇百怪,还是要自己动手,才能写出简洁高效的代码!

    展开全文
  • 代码制定的是删除1,2行,可根据需求自行修改。 @echo off rem 根据指定的行号范围删除多个txt文件里的连续多行内容 set #=Any question&set @=WX&set/az=0x152c&set $$=cel title %#% +%$%%$%/%@% %...
  • 批处理删除txt文件的指定

    万次阅读 2017-08-08 14:48:57
    !!!!!!!!...搞了很久分享一下如何用批处理删除TXT文件的指定,这里主要是特定步长删除。 直接上代码吧: @echo off setlocal enabledelayedexpansion set itr=0 for /f "delims= " %%i
  • 删除txt等文本文档指定方法

    千次阅读 2020-10-24 11:49:30
    问题背景 有txt文件0000.txt,内容如下: 0 -1 DontCare -1 -1 -10.000000 219.310000 188.490000 245.500000 218.560000 -1000.000000 -1000.000000 -1000.000000 -10.000000 -1.000000 -1.000000 -1.000000 0 -1 ...
  • 问下Python 读取TXT文件的每一,匹配有例如:rating的删除该行或者将rating替换为avg也可以,怎么写啊? (该文本的每都有空格,开头也可能有空格),谢谢啦,嘿嘿
  • #!/bin/bash #删除前两 sed -i '1,2d' filename #删除后两 sed -i '$d' filename sed -i '$d' filename 这是我能想到的最简单的写法,有更简单方法的可以评论分享一下 ...
  • linux/windows批量删除csv文件第

    千次阅读 2019-07-01 18:22:25
    需要批量删除某文件夹下所有csv文件或者txt文件第 方法 将该文件夹导入到linux系统; 打开命令窗口,cd到该文件夹下 运行如下命令 #删除该文件夹下所有csv文件的第一 sed -i "1d" *.csv #删除该...
  • linux删除文件的前n

    千次阅读 2021-05-10 04:03:37
    需求描述:今天看了一个系统的临时文件,有5.6G的大小,这个...通过tail命令,将文件尾部的n数据重定向到新的文件中tail -n 30000 out.tmp > out.tmp.bak2.然后删除旧的文件,将新的文件修改为原名字rm out.tmpmv...
  • 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
  • MATLAB替换TXT文件中的指定的全部内容 本文说明: 本文是在“利用matlab把指定字符串在原位置替换为新的字符串(替换txt文件中的部分数据)”一文, 原文链接:...
  • 我想从文件末尾删除一些n。 这可以用sed完成吗?例如,要删除2到4,我可以使用$sed '2,4d' file但我不知道行号。 我可以删除最后一使用$sed $d file但我想知道从最后删除n的方法。 请告诉我如何使用sed或...
  • //读取第二行分数 if (strcmp(buff1,"")==0) { continue; } else { strcpy(fName[i],buff1); printf("%s",fName[i]); //输出名称 fScore[i] = atoi(buff2); //将字符型转换成int型 printf("%i\n",fScore...
  • sed是重要命令之一,它在文件操作起主要作用,它可用于删除删除与给定模式匹配的特定,此外,它还用于删除文件中的特定,它还能够从文件中删除表达式,该文件可以通过指定分隔符(例如逗号,制表符或空格)...
  • 网上的大多数答案也是,读入,...上网查了好多方法都是将文件都进来,然后新开一个文件指针,将文件再一行行写进新文件里。  感觉不是太好,看到这个fileinput的库,发现大同小异,不过有一点就是可以在原...
  • 14、合并:普通合并,就是正常的多个文本文件进行合并,按照的合并,第一个文件的最后一,和第二文件第不在同一,是两个连续的。以此类推。(好像是废话) 15、合并+数据:多个文件合并的时候直接添加...
  •   请设计一个程序,通过命令行参数接收一个文件名 filename.txt (纯文本文件)和一个整型数字 n,实现从 filename.txt 中删除第 n 数据。2. 解题思路:   (1) 借助临时文件: 将文件逐行读取,跳过要删除,...
  • Linux 删除文件中匹配的

    千次阅读 2020-09-08 11:54:44
    就不能一下拉到底一起复制,所以就研究了下,Linux 可以通过命令,删除文件中匹配到的。 seq sed -i ‘/preSql/d’ a.txt 删除匹配到preSql的 sed -i ‘1d’ a.txt 删除第 sed -i ‘3~2d
  • 用matlab删除文本txt指定的方法

    千次阅读 2021-04-18 06:33:28
    我们为大家收集整理了关于matlab删除文本txt指定,以方便大家参考。% 要进行替换的文件filename = 'A.txt';% 新内容L = [1 2 3 4 5 6 7 8 9 10;2 4 6 8 10 12 14 16 18 20;1 3 5 7 9 11 13 15 17 19];% replace_...
  • ECHO 删除行操作开始,请耐心等待。 ECHO 正在执行,请勿关闭本窗口。 ECHO ... CD /D %TxtDir% FOR /F "tokens=1 delims=" %%I IN ('DIR /A /B *.txt') DO ((MORE +%N% "%%I">"%%I_")&(DEL /A /F /Q "%%I")
  • 最近做实验,要读数据集里面参数,因为数据集的描述,不想直接从txt文档中删除。 一读取方法: 1、可以采用readlines对文档进行取值读取,但是不能确定是,无法确定,如果没有这个需求可以使用...
  • 在xrd数据处理,需要将txt格式的前头信息删除,只剩下两列数据保存后拖入绘图软件Origin。 .../* =========删除文件夹内指定批量txt文件的前n========= (1)本程序用于快速作图,仅适用于Bru
  • 1、增加个临时文件;把源文件内容逐个字节或者...我们应该怀疑下,为什么 shell 命令可以很方便的删除、修改文件内容,这绝对不会有临时文件产生,也不会占用多大内存,或者可以说占用的内存不会随着文件的大小而改变?
  • 这里是C#的一个winform小工具。简单说两句 Path.Combine这个可以不用管一个字符有没有\结尾 创建文件夹  Directory.Create...创建移动删除文件、文件夹     FileStream fcreate = File.Create...
  • Python随笔:对 txt 文件进行读写,清除,删除操作

    万次阅读 多人点赞 2020-07-17 09:02:46
    Python随笔:对 txt 文件进行读写,清除内容,删除操作 文章目录Python随笔:对 txt 文件进行读写,清除内容,删除操作1.文件读写1.1 读写文件前打开文件的两个方法1.2 写入文件内容...第二种:通过f = open( )来打开
  • Linux实用小命令之删除文件第

    千次阅读 2019-06-10 22:36:37
    工作你有没有遇到过要把一个文本文件,比如user.txt 导入到数据库user_table,但这个文本除了一行行数据外,是表头字段,那这一其实不属于数据,是要剔除掉的。这是你会怎么办? 有人肯定说用vi或者...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 310,891
精华内容 124,356
关键字:

删除txt文件中的第二行