全是中文的txt文件查找特定字符并输出该行到新文件
- tangshi.txt文件为全为汉唐诗
- 在该文件中查找指定字符
- codecs库为打开中文文件的库,详情自行知乎
- tangshi.txt大概十几万行,需要该文件练手的同学下方评论
- 要点:更改文件字符编码格式,即为另存为下方选择编码
import codecs
def search(key_word: str, ):
with codecs.open('tangshi1.txt', encoding='utf-8') as f:
for index, line in enumerate(f.readlines()):
if key_word in line:
result = ""
result += f"{key_word}在文件的第{index + 1}行\n"
# print(result)
# print(line)
f = open("1.txt","a+",encoding='utf-8')
f.write(line)
else:
result = f"未在文件中发现{key_word}"
return result
if __name__ == '__main__':
search("融")
search("柔")
search("肉")
search("如")
search("乳")
search("入")
search("辱")
search("儒")
# 1528融 1529柔 1530肉 1531如 1532儒 1533乳 1534辱 1535入
全是中文的txt文件查找特定字符并输出该行到新文件的更多相关文章
- shell查找匹配行,输出该行并输出下面的一行
查找匹配行,输出该行并输出下面的一行 grep: grep -A 1 'keyword' file awk:awk '$0~/keyword/{print $0; getline; print $ ...
- [C/C++][文件操作] 对比目录并列出同名较新文件、较旧文件 0.1
主要是模仿robocopy的部分功能 (robocopy /L 参数可以列出本地目录和备份目录中的异同之处,主要是标记出:较新的.较旧的.多出的文件 ) 现在还不会写GUI,打算后面自己做目录树dif ...
- linux提取指定字符的行列并生成新文件(awk命令)
如图所示,命名为file文件的表头有BP.A1.TEST等 假如想提取含有"ADD"的行和该行对应列的"BP"和"P"值,则需要用到以下命令 ...
- 3.shell编程-文件查找之find命令
3.1.语法格式 find [路劲][选项][操作] 选项参数对照表 3.2.-name 查找/etc/目录下以.conf结尾的文件 find /etc/ -name "*.conf&quo ...
- linux通过文件查找依赖关系
通过文件查找安装包安装缺少libstdc++6这个文件在ls /usr/lib/libstd*下有两个文件/usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.6 ...
- Linux标准输入、输出和错误和文件重定向(转) --- good
标准输入.输出和错误 当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名.下面就是这些文 ...
- 《UNIX环境高级编程》笔记--文件访问权限和新文件、目录所有权
1.与进程关联的用户ID和组ID 与一个进程关联的ID有一下几个: 实际用户ID和实际组ID标识我们究竟是谁.通常在一个会话间值是不会改变的,但是超级用户进程有方法改变 他们,在以后的进程控制中会进行 ...
- Linux标准输入、输出和错误和文件重定向 专题
当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名. 下面就是这些文件描述符及它们通常所 ...
- 3.Git基础-查看当前文件状态、跟踪新文件、暂存文件、忽略文件、提交更新、移除文件、移动文件
1.检查当前文件状态 -- git status git diff git diff --staged git status :我们可以使用 git status 来查看文件所处的状态.当运 ...
- Log4j按级别输出日志到不同文件配置
1.自定义LogFileAppender类,继承DailyRollingFileAppender,实现Log4j按级别输出日志到不同文件. package com.liying.mango.commo ...
随机推荐
- 使用a标签下载**.txt文件, 而不是直接打开
今天有个使用a标签下载一个 .txt 文件,但是使用了不少方法,在点击下载的时候总是会直接打开被下载的文件,但是下载其他格式的文件就不会:也在网上找了不少资料 一.尝试href + download方 ...
- HA高可用集群部署
HA高可用集群部署 高可用 ZooKeeper 集群部署 zookeeper安装部署 注意:需要安装jdk,但jdk已经在第4章装过,这里直接装zookeeper #解压并安装zookeeper [r ...
- 魔力屏障 (magic) 题解
魔力屏障 (magic) [问题描述] 小 Z 生活在神奇的魔法大陆上.今天他的魔法老师给了它这样一个法阵作为它 的期末考试题目: 法阵由从左至右 n 道魔力屏障组成,每道屏障有一个临界值 a,如果它 ...
- Anaconda入门使用指南(二)
Anaconda 安装完成,在 bin 子目录下( $PREFIX/bin )可以看到该发行版本预装好的 conda.python.pip.jupyter,以及一些常用的工具. Python环境管理 ...
- Kali安装GVM
1.安装gvm ┌──(rootkali)-[/home/kali] └─# gvm-setup 1 ⨯ [>] Starting PostgreSQL service [-] ERROR: T ...
- RALB负载均衡算法的应用
一.背景 搜索推荐算法架构为京东集团所有的搜索推荐业务提供服务,实时返回处理结果给上游.部门各子系统已经实现了基于CPU的自适应限流,但是Client端对Server端的调用依然是RR轮询的方式,没有 ...
- 如何让别人访问你本地允许的Vue本地项目
步骤一: 将config/index.js 中的host: localhost 改为 host:'0.0.0.0'步骤二:在package.json 将scripts 下面的dev 后 ...
- .NET源码解读kestrel服务器及创建HttpContext对象流程
.NET本身就是一个基于中间件(middleware)的框架,它通过一系列的中间件组件来处理HTTP请求和响应.因此,本篇文章主要描述从用户键入请求到服务器响应的大致流程,并深入探讨.NET通过kes ...
- 重新搞懂Git,掌握日常命令和基本操作
1.git Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到超大型项目的所有内容. Git 易于学习,占用空间很小,性能快如闪电.它超越了Subversion,CVS,Perfo ...
- Github秒变VSCode在线编辑器
在仓库页面 在网页地址中github后面加上 1s 即可