首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从txt到两个不同的txt,拆分并打印\ of *n行之前和之后的单词

从txt到两个不同的txt,拆分并打印\ of *n行之前和之后的单词。

首先,我们需要将给定的txt文件进行读取,并将其内容按行进行拆分。然后,根据指定的行数n,将文本内容分为两个部分,即*n行之前和之后的内容。

接下来,我们需要对每个部分的文本进行处理,提取出其中的单词。可以使用正则表达式或字符串分割等方法来实现单词的提取。

最后,我们将提取出的单词分别打印输出,并将其保存到两个不同的txt文件中。

以下是一个示例代码,用于实现上述功能:

代码语言:txt
复制
import re

def split_and_print_words(file_path, n):
    # 读取txt文件内容
    with open(file_path, 'r') as file:
        content = file.read()

    # 按行拆分文本内容
    lines = content.split('\n')

    # 获取*n行之前的文本内容
    before_lines = lines[:n]
    before_text = '\n'.join(before_lines)

    # 获取*n行之后的文本内容
    after_lines = lines[n:]
    after_text = '\n'.join(after_lines)

    # 提取单词
    word_pattern = r'\b\w+\b'
    before_words = re.findall(word_pattern, before_text)
    after_words = re.findall(word_pattern, after_text)

    # 打印并保存单词
    print("前{}行的单词:".format(n))
    for word in before_words:
        print(word)
    save_words_to_txt(before_words, "before_words.txt")

    print("后{}行的单词:".format(len(lines) - n))
    for word in after_words:
        print(word)
    save_words_to_txt(after_words, "after_words.txt")

def save_words_to_txt(words, file_path):
    # 将单词保存到txt文件
    with open(file_path, 'w') as file:
        file.write('\n'.join(words))

# 调用函数进行处理
split_and_print_words("input.txt", 5)

在上述代码中,我们首先读取了名为"input.txt"的txt文件的内容。然后,根据指定的行数n,将文本内容分为两个部分,即前n行和后面的行。接着,我们使用正则表达式提取出每个部分中的单词,并分别打印输出。最后,我们将提取出的单词保存到两个不同的txt文件中,分别为"before_words.txt"和"after_words.txt"。

请注意,上述代码中并未提及具体的腾讯云产品和链接地址,因为与问题描述的内容无关。如需了解腾讯云相关产品和服务,请参考腾讯云官方文档或咨询腾讯云官方支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

生物信息重要文本处理命令(实例命令及解释)

,可以通过参数-E支持扩展正则表达式,常用命令如下: 命令 解释 grep '10' test.txt 过滤含有1010 grep -n '10' test.txt 打印包含10标10标...grep -c '10' test.txt 统计包含10行数10行数 grep –i 'm' test.txt 打印包含mMmM grep -iv 'm' 统计不包含mMmM...过滤第二大于20并且第三大于30 awk -F ':' '{print $1}' file 以:作为域分割符,打印第一列 八.cut命令 cut命令命令文件列剪切字节、字符、域,并将这些字节..." | xargs -dX -d选项可以自定义一个定界符 十二.comm comm命令比较两个文件相同不同,下面为常用命令举例: 命令 解释 comm1.txt 2.txt 比较两文件不同,默认输出...23列,即显示1中独有的 comm -13 1.txt 2.txt 不显示23列,即显示1中独有的 comm -3 1.txt 2.txt |sed's/\t//g' 求两者集 注意事项:两个比较文件需要排序后进行

1.2K10
  • 如何准备电影评论数据进行情感分析

    为情感分析准备文本一部分涉及定义剪裁模型支持单词词汇。 我们可以通过加载数据集中所有文档构建一组单词来实现这一点。我们可能决定支持所有这些话,或者放弃一些话。...('txt_sentoken/neg', vocab) process_docs('txt_sentoken/pos', vocab) # 打印词汇表大小 print(len(vocab)) # 打印词汇表中热门单词.../neg', vocab) process_docs('txt_sentoken/pos', vocab) # 打印词汇表大小 print(len(vocab)) # 打印词汇表中热门单词 print...我们可以用单词词汇,而不是单独使用单词,这样称为bigrams。我们还可以调查更大使用群体,如三元组(trigram)更多(n-gram)。 编码词。...具体来说,你已了解: 如何加载文本数据清理它以去除标点符号其他非单词。 如何开发词汇,定制词汇,并将其保存到文件中。 如何使用清理预定义词汇来准备电影评论,并将其保存到新文件中以供建模。

    4.2K80

    数据科学家需要掌握几大命令行骚操作

    根据工作不同拆分文件是有益,就像split。...这两者提供了最重要一击(即去重单词计数)。这是由于有uniq,它只处理重复相邻。因此在管道输出之前进行排序。...常用选项: join -a 打印未成对 join -e 替换缺失字段 join -j 等同于 -1 FIELD -2 FIELD GREP 全局搜索正则表达式输出,或使用grep;可能是最知名命令...-l 打印匹配文件名称 grep -v 倒序匹配 大杀器 SedAwk是本文两个最有用命令。...本文所涵盖命令行知识足以让你零基础入门。除了这些已涉及内容外,针对日常数据操作还有需要可考虑实用程序。Csvkit, xsvq是其中三个值得关注

    1.9K20

    Shell实用工具

    p print打印, 打印出匹配内容,通常与-n选项用 s substitute替换, 替换掉匹配内容 = 用来打印被匹配行号 n 读取下一,遇到n时会自动跳入下一 特殊符号 命令...演示3: 删除指定范围多行数据 删除第1第3数据 sed '1,3d' sed.txt # 1,3 指定第1开始第3结束 ?...示例: 打印匹配中第7列数据 搜索passwd文件有root关键字所有, 然后以":"拆分打印输出第7列 awk -F: '/root/{print $7}' passwd # -F: 以':'..."}' # BEGIN 在所有数据读取之前执行;END 在所有数据执行之后执行。 ?...sort -t " " -k2n,2 sort.txt # -t " " 代表使用空格分隔符拆分列 # -k2n,2 代表根据第2列开始第2列结束进行数字升序, 仅对第2列排序 ?

    7.8K10

    Linux系统开发: 学习linux三剑客(awk、sed、grep)(上)

    Unixgrep家族包括grep、egrepfgrep。egrepfgrep命令只跟grep有很小不同。...-A 除了显示符合范本样式之外,显示该行之后指定几行内容。 -B 除了显示符合范本样式之外,显示该行之前指定几行内容。...前面可加数字,指定打印第几行 P(大写) 打印模板块第一。 q 退出Sed。 b lable 分支脚本中带有标记地方,如果分支不存在则分支脚本末尾。 r file file中读。...T label 错误分支,最后一开始,一旦发生错误或者T,t命令,将导致分支带有标号命令处,或者脚本末尾。 w file 写追加模板块file末尾。.../pattern/,m:被模式匹配到第一起到m n,m 表示n第m n,+m 表示n起往后增加m n~m:步进:以n行为基准值,每次增加m 3.8 组合多个表达式 sed

    9.3K21

    Sed三剑客入门与进阶

    p 显示打印模板块。 P(大写) 打印模板块第一。 q 退出Sed。 b lable 分支脚本中带有标记地方,如果分支不存在则分支脚本末尾。 r file file中读。...T label 错误分支,最后一开始,一旦发生错误或者T,t命令,将导致分支带有标号命令处,或者脚本末尾。 w file 写追加模板块file末尾。...W file 写追加模板块第一file末尾。 ! 表示后面的命令对所有没有被选定发生作用。 = 打印当前行号码。 # 把注释扩展下一个换行符以前。.../p' file #打印第5开始第一个包含以test开始之间所有: sed -n '5,/^test/p' file #对于模板testwest之间,每行末尾用字符串aaa bbb...p' test.txt #第二答应到末尾 (注意空格) sed -n '/test/,/text/p' test.txt #打印test字符串行text字符串之间 (自己组合上面的来达到各种效果

    3.1K10

    正则表达式grep使用

    {2,} 匹配任意一个两位或更多位数字 {n,m} 指定之前项所必需匹配最小次数最大次数 [0-9]{2,5} 匹配两位数到五位数之间任意一个数字 | 交替 : 匹配 | 两边任意一项 Oct...grep命令中,模式可以是一个被引号括括起来字符串,也可以是单个词,位于模式之后所有的单词都被视为文件名。...grep ^ 打印以字母 n 开头, (^) 是首定位符 root@vultr:~# grep ^n test.txt northwest NW Charles Main 3.0...@vultr:~# 3.4.13. grep \\ 打印所有包含以小写字母开头,以 n 结尾,中间由任意多个字符组成单词。...选项-n 在找到指定模式行前面加上其行号再一输出(显示行号是文本中行号)。

    1.5K20

    提升awk技能两个教程【译】

    两个特殊函数块,BEGIN END,BEGIN表示在处理第一输入流之前执行,而END表示在最后一处理完成之后执行。...awk是怎样处理文本流? awk输入文件或流中每次读取一文本,使用字段分隔符将其解析为多个字段。awk术语中,当前缓冲区(buffer)是一条记录。...(跳过proposals.csv第一),然后把结果写入名为acceptanceN.txt文件中,其中N随着你解析每一递增。...由于处理是模板文件每行不同输出文件,因此在处理下一条记录之前,需要清理关闭这些文件文件句柄。...数组内容,利用awk管道能力输出到shell命令,来执行数字排序,打印前20个出现次数最高单词: END { sort_head = "sort -k2 -nr | head -n

    4.7K10

    通过两个简单教程来提高你 awk 技能

    awk 程序结构 awk 脚本是由 {}(大括号)包围功能块组成,其中有两个特殊功能块,BEGIN END,它们在处理第一输入流之前最后一处理之后执行。...(跳过第一),然后把结果写到一个叫 acceptanceN.txt 文件中,每解析一就递增文件名中 N。...由于每行都要处理模板文件不同输出文件,所以在处理下一条记录之前,需要清理关闭这些文件文件句柄。...; # 设置输出文件名 outfile=(output NR ".txt"); # 模板中读取一,替换特定字段, # 打印结果输出文件...,然后利用 awk 能力,将输出内容用管道输入 shell 命令,进行数字排序,打印出 20 个最常出现单词

    1.5K20

    Shell sed命令

    P(大写) 打印模板块第一 q 退出Sed b lable 分支脚本中带有标记地方,如果分支不存在则分支脚本末尾 r file file中读 t label if...分支,最后一开始,条件一旦满足或者T,t命令,将导致分支带有标号命令处,或者脚本末尾 T label 错误分支,最后一开始,一旦发生错误或者T,t命令,将导致分支带有标号命令处...,或者脚本末尾 w file 写追加模板块file末尾 W file 写追加模板块第一file末尾 !...' He llo wor ld 已匹配字符串标记& 正则表达 w+ 匹配每一个单词,使用 [&] 替换它,& 对应于之前所匹配到单词 命令中 digit 7,被替换成了 7。...TEST [root@linux /]# sed -n '/test/,/TEST/p' xxx.txt test 1111 2222 TEST 打印第2开始第一个包含以test开始之间所有

    1.4K10

    linux中sed命令总结

    T label # 错误分支,最后一开始,一旦发生错误或者T,t命令,将导致分支带有标号命令处,或者脚本末尾。 w file # 写追加模板块file末尾。...W file # 写追加模板块第一file末尾。 ! # 表示后面的命令对所有没有被选定发生作用。 = # 打印当前行号码。 # # 把注释扩展下一个换行符以前。...: sed -n '/test/,/check/p' file 打印第5开始第一个包含以test开始之间所有: sed -n '5,/^test/p' file 对于模板testwest...sed [options] -f scriptfile file(s) 打印奇数或偶数 方法1: sed -n 'p;n' test.txt #奇数 sed -n 'n;p' test.txt...#偶数 方法2: sed -n '1~2p' test.txt #奇数 sed -n '2~2p' test.txt #偶数 打印匹配字符串下一 grep -A 1 SCC URFILE

    3.2K20

    命令行上数据科学第二版 四、创建命令行工具

    这些被称为一程序或管道。能够只用一程序执行复杂任务是命令行强大之处。这是一种与编写使用传统程序截然不同体验。 有些任务你只执行一次,有些任务你执行得更频繁。...用 Python R 写命令行工具需要分别指定pythonRscript,作为 Shebang 之后解释器。 当使用 Python R 创建命令行工具时,还有两个方面需要特别注意。...4.3.1 移植 Shell 脚本 首先,让我们看看如何将刚刚创建 Shell 脚本移植 Python R 中。换句话说,哪些 Python R 代码为我们提供了标准输入中最常用单词?...随着您在命令行上获得更多经验,您将开始认识何时使用哪种方法。当一切都是命令行工具时,您甚至可以将任务拆分成子任务,并将 Bash 命令行工具与 Python 命令行工具结合使用。...Python R 工具都解决了现在已经臭名昭著 Fizz Buzz 问题,该问题定义如下:打印 1 100 数字,除非该数字能被 3 整除,否则打印Fizz;如果数字能被 5 整除,则改为打印

    2.2K40

    Shell-4-让文本飞

    匹配之前项一次或0次 + 匹配之前项一次或多次 * 匹配之前项0次或多次 () 创建一个用于匹配子串 {n} 匹配之前n次 {n,m} 指定之前项所必须匹配最小次数最大次数 | 交替-...-c 3 1.txt 1 (4)打印包含匹配字符串行数 [root@cai tmp]# grep 3 -n 1.txt 4:33 (5)搜索多个文件找出匹配文本位于哪个文件中 [root@cai...-r --exclude “readne” (10)打印出匹配文本之前之后打印匹配某个结果之后3,可以使用-A选项 [root@cai tmp]# seq 10|grep 5 -A 3 5...6 7 8 要打印匹配某个结果之前3,可以使用-B选项 [root@cai tmp]# seq 10|grep 5 -B 3 2 3 4 5 要打印匹配某个结果之前以及之后3,使用-C选项 [...55 8.打印文件或n单词或列 下面打印第5列 awk ‘{ print $5 }’ filename 9.打印行或样式之间文本 (1)[root@cai tmp]# seq 100

    75790

    小甲鱼《零基础学习Python》课后笔记(二十九):文件——一个任务

    ,做一个幸福的人 喂马、劈柴,周游世界 明天起,关心粮食蔬菜 我有一所房子,面朝大海,春暖花开 :w 1.编写一个程序,比较用户输入两个文件,如果不同,显示所有不同行号与第一个不同字符位置...py ================== 请输入需要比较头一个文件名:我.txt 请输入需要比较另一个文件名:something.txt 两个文件共有【4】处不同: 第4不一样 第5不一样 第...:something.txt 请输入需要比较另一个文件名:我.txt 两个文件共有【4】处不同: 第4不一样 第5不一样 第6不一样 第7不一样 2.编写一个程序,当用户输入文件名行数...(N)后,将该文件N中内容打印到屏幕上,程序实现如图: ?...要求在上一题基础上扩展,用户可以随意输入需要显示行数。(如输入13:21打印1321,输入:21打印前21,输入21:就打印21开始文件结尾左右内容) ? ?

    82530
    领券