Python 文件操作中的读写模式:open(path, ‘-模式-‘,encoding=‘UTF-8‘)+python读写文件txt +文本数据预处理

python读写txt文件

文件的打开的两种方式f = open("data.txt","r")   #设置文件对象
f.close() #关闭文件#为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
with open('data.txt',"r") as f:    #设置文件对象str = f.read()    #可以是随便对文件的操作一、读文件1.简单的将文件读取到字符串中f = open("data.txt","r")   #设置文件对象
str = f.read()     #将txt文件的所有内容读入到字符串str中
f.close()   #将文件关闭2.按行读取整个文件#第一种方法
f = open("data.txt","r")   #设置文件对象
line = f.readline()
line = line[:-1]
while line:             #直到读取完文件line = f.readline()  #读取一行文件,包括换行符line = line[:-1]     #去掉换行符,也可以不去
f.close() #关闭文件  #第二种方法
data = []
for line in open("data.txt","r"): #设置文件对象并读取每一行文件data.append(line)               #将每一行文件加入到list中 #第三种方法
f = open("data.txt","r")   #设置文件对象
data = f.readlines()  #直接将文件中按行读到list里,效果与方法2一样
f.close()             #关闭文件3.将文件读入数组中import numpy as np
data = np.loadtxt("data.txt")   #将文件中数据加载到data数组里二、写文件1.简单的将字符串写入txt中with open('data.txt','w') as f:    #设置文件对象f.write(str)                 #将字符串写入文件中2.列表写入文件单层列表data = ['a','b','c']
#单层列表写入文件
with open("data.txt","w") as f:f.writelines(data)双层列表#双层列表写入文件
#第一种方法,每一项用空格隔开,一个列表是一行写入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f:                                                   #设置文件对象for i in data:                                                                 #对于双层列表中的数据i = str(i).strip('[').strip(']').replace(',','').replace('\'','')+'\n'  #将其中每一个列表规范化成字符串f.write(i)                                                                 #写入文件#第二种方法,直接将每一项都写入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f:                                                   #设置文件对象for i in data:                                                                 #对于双层列表中的数据f.writelines(i)                                                            #写入文件3.数组写入文件中#将数组写入文件
import numpy as np
#第一种方法
np.savetxt("data.txt",data)     #将数组中数据写入到data.txt文件
#第二种方法
np.save("data.txt",data)        #将数组中数据写入到data.txt文件

Python 文件操作中的读写模式:open(path, ‘-模式-’,encoding=‘UTF-8’)

open(path, ‘-模式-‘,encoding=’UTF-8’) 
即open(路径+文件名, 读写模式, 编码)在python对文件进行读写操作的时候,常常涉及到“读写模式”,整理了一下常见的几种模式,如下:读写模式:r :只读 
r+ : 读写 
w : 新建(会对原有文件进行覆盖) 
a : 追加 
b : 二进制文件常用的模式有:“a” 以“追加”模式打开, (从 EOF 开始, 必要时创建新文件) 
“a+” 以”读写”模式打开 
“ab” 以”二进制 追加”模式打开 
“ab+” 以”二进制 读写”模式打开“w” 以”写”的方式打开 
“w+” 以“读写”模式打开 
“wb” 以“二进制 写”模式打开 
“wb+” 以“二进制 读写”模式打开“r+” 以”读写”模式打开 
“rb” 以”二进制 读”模式打开 
“rb+” 以”二进制 读写”模式打开rU 或 Ua 以”读”方式打开, 同时提供通用换行符支持 (PEP 278)需注意:1、使用“w”模式。文件若存在,首先要清空,然后重新创建 
2、使用“a”模式。把所有要写入文件的数据都追加到文件的末尾,即使你使用了seek()指向文件的其他地方,如果文件不存在,将自动被创建。3、f.read([size]) :size未指定则返回整个文件,如果文件大小>2倍内存则有问题。f.read()读到文件尾时返回”“(空字串) 
4、file.readline() 返回一行 
5、file.readline([size]) 返回包含size行的列表,size 未指定则返回全部行 
6、”for line in f: print line” #通过迭代器访问 
7、f.write(“hello\n”) #如果要写入字符串以外的数据,先将他转换为字符串. 
8、f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数). 
9、f.seek(偏移量,[起始位置]) : 用来移动文件指针 
偏移量 : 单位“比特”,可正可负 
起始位置 : 0 -文件头, 默认值; 1 -当前位置; 2 -文件尾 
10、f.close() 关闭文件

基本的中文文本数据预处理

利用内置方法及re模块保留汉字rere.findall(u'[\u4e00-\u9fff]+', a_str)
保留汉字、换行符rere.findall(u'[\u4e00-\u9fff\n]+', a_str)
list to stringa_str = ' '.join(a_list) 
string to lista_list = a_str.split(' ')
删除\替换特定符号a_str_cln = a_str.replace('丨','')rea_str_cln = re.sub('|', ' ', a_str)
确定b中a位置并返回值rere.search(a, b).span()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch 中 matmul 广播

Pytorch 中 matmul 广播方式 一、两个 1 维,向量内积 a torch.ones(3) b torch.ones(3) print(torch.matmul(a,b)) # tensor(3.) 二、两个 2 维,矩阵相乘 a torch.ones(3,4) b torch.ones(4,3) print(torch.matmul(a,b)) # tensor([[4., 4., 4…

论文浅尝 | 将字面含义嵌入知识图谱表示学习

论文笔记整理:吴桐桐,东南大学博士生,研究方向为知识图谱,自然语言处理。链接:https://arxiv.org/pdf/1802.00934.pdf本文主要关注知识图谱中的链接预测问题,在既有的知识图谱表示学习模型的基础上提出了一…

优知学院创始人陈睿:怎样做好一个创业公司CTO?

CTO 是企业内技术最高负责人,对企业的发展起到至关重要的作用。但随着公司的不断发展,CTO 的工作重心也会不断变化。只有在正确的阶段做正确的事,才能更好地为公司做出贡献。 本文作者:陈睿 优知学院创始人,10年产品技…

2020年深度学习调参技巧合集

文 | 山竹小果源 | NewBeeNLP编 | 夕小瑶的卖萌屋重点说明:本文主要为整理总结,大部分参考文末资料,感谢分享。寻找合适的学习率学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化…

LeetCode 226. 翻转二叉树(DFS BFS)

文章目录1. 题目信息2. 解题2.1 DFS2.2 BFS1. 题目信息 翻转一棵二叉树。 示例:输入:4/ \2 7/ \ / \ 1 3 6 9输出:4/ \7 2/ \ / \ 9 6 3 1来源:力扣(LeetCode) 链接:…

论文浅尝 | GraphIE:基于图的信息抽取框架

笔记整理:吕欣泽,南京大学计算机科学与技术系,硕士研究生。论文连接:https://arxiv.org/pdf/1810.13083.pdf发表会议:NAACL 2019摘要大多数现代信息提取(IE)系统都是作为顺序标记器实现的&#…

lambda函数+map函数的结合使用 list(map(lambda x: list(x)[0], X))

Q1:什么是lambda函数?怎么定义?有什么作用? 知识点:lambda 解析:lambda叫做匿名函数,是一种不需要提前对函数进行定义再使用的情况下就可以使用的函数 1 定义规则:冒号的左边是原函数…

好产品,懂人性

好的产品无一例外,懂人性 张小龙曾经说过,产品经理要懂得抓住用户的贪、嗔、痴,培养用户对产品的粘性,就是要让用户对你的产品产生贪、嗔、痴。 贪是贪婪,嗔是嫉妒,痴是执着。 人类的贪婪、嫉妒和执著培…

Pytorch 实现 MLP

torch.nn是专门为神经网络设计的模块化接口。nn构建于 Autograd之上,可用来定义和运行神经网络。 nn.functional,这个包中包含了神经网络中使用的一些常用函数,这些函数的特点是,不具有可学习的参数(如ReLU,pool&#…

LeetCode 104. 二叉树的最大深度

文章目录1. 题目信息2. 解题2.1 递归法2.2 按层遍历1. 题目信息 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7]&…

谷歌重磅:可以优化自己的优化器!手动调参或将成为历史!?

文 | 小轶编 | 夕小瑶背景Google Brain团队发布的一篇最新论文在外网引发热议,或将成为Deep Learning发展历程上里程碑式的工作。它所讨论的,是所有AI行业者都要面对的——Deep Learning中的优化问题。也就是,如何更好地训练一个模型。深度模…

最全目标检测相关资料整理 (目标检测+数据增强+卷价神经网络+类别不均衡...)

1 小目标检测:综述:综述论文Augmentation for small object detection深度学习笔记(十)Augmentation for small object detection(翻译) 吴建明wujianning:小目标检测的增强算法 机器之心&#…

论文浅尝 | 基于未知谓词与实体类型知识图谱的 Zero-Shot 问题生成

论文笔记整理:谭亦鸣,东南大学博士生,研究方向为跨语言知识图谱问答。来源:NAACL 2018链接:https://www.aclweb.org/anthology/N18-1020问题背景与动机问题生成的目标是将知识图谱三元组作为输入,生成自然语…

阿里P8架构师谈:Restful、SOAP、RPC、SOA、微服务之间的区别

内容大纲: 1.介绍Restful、SOAP、RPC、SOA以及微服务 2.重点谈谈SOA与微服务的区别 3.以及为什么要使用微服务架构 什么是Restful Restful是一种架构设计风格,提供了设计原则和约束条件,而不是架构,而满足这些约束条件和原则的…

RuntimeError: Expected object of device type cuda but got device type cpu for argument #2 'target'

RuntimeError: Expected object of device type cuda but got device type cpu for argument #2 ‘target’ in call to _thnn_binary_cross_entropy_forward 出错误背景:Pytorch 中想使用 CUDA 对程序计算进行加速 错误的意思:object 的 device 类型期…

微服务系列:Dubbo与SpringCloud的Ribbon、Hystrix、Feign的优劣势比较

在微服务架构中,分布式通信、分布式事务、分布式锁等问题是亟待解决的几个重要问题。 Spring Cloud是一套完整的微服务解决方案,基于 Spring Boot 框架。确切的说,Spring Cloud是一个大容器(而不是一个框架)&#xff…

经典教材《统计学习导论》现在有了Python版

文 | 张倩源 | 机器之心《统计学习导论》很经典,但用的是 R 语言,没关系,这里有份 Python 版习题实现。斯坦福经典教材《The Element of Statistical Learning》(简称 ESL)被称为频率学派的统计学习「圣经」&#xff0…

安装tensorflow出现超时,找不到指定模+python 各个指定版本安装

安装tensorflow出现超时,找不到指定模块 https://www.jianshu.com/p/b886fd6db895 python 各个指定版本安装 https://pypi.org/project/tensorflow/1.14.0/#files

漆桂林 | 人工智能的浪潮中,知识图谱何去何从?

本文转载自公众号:AI科技大本营。近年来,随着人们对 AI 认知能力的积极探索,知识图谱因其表达能力强、拓展性好,基于知识进行推理等优势得到了学界与业界的高度关注。知识图谱,旨在描述客观世界概念、实体、事件及其之…

Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you

RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the ‘spawn’ start method 问题出现的背景:在一个使用 cuda 对模型训练进行加速的程序中,想要使用多进程对模型测试进行加速。 解决…