Python⽂件操作中的读写模式:open(path,‘-模式-‘,encoding=‘U。。。python读写txt⽂件
⽂件的打开的两种⽅式
f = open("","r") #设置⽂件对象
f.close() #关闭⽂件
#为了⽅便,避免忘记close掉这个⽂件对象,可以⽤下⾯这种⽅式替代
with open('',"r") as f: #设置⽂件对象
str = f.read() #可以是随便对⽂件的操作
⼀、读⽂件
1.简单的将⽂件读取到字符串中
f = open("","r") #设置⽂件对象
str = f.read() #将txt⽂件的所有内容读⼊到字符串str中
f.close() #将⽂件关闭
2.按⾏读取整个⽂件
#第⼀种⽅法
f = open("","r") #设置⽂件对象
line = f.readline()
line = line[:-1]
while line: #直到读取完⽂件
line = f.readline() #读取⼀⾏⽂件,包括换⾏符
line = line[:-1] #去掉换⾏符,也可以不去
f.close() #关闭⽂件
#第⼆种⽅法
data = []
for line in open("","r"): #设置⽂件对象并读取每⼀⾏⽂件
data.append(line) #将每⼀⾏⽂件加⼊到list中
#第三种⽅法
f = open("","r") #设置⽂件对象
data = f.readlines() #直接将⽂件中按⾏读到list⾥,效果与⽅法2⼀样
f.close() #关闭⽂件
3.将⽂件读⼊数组中
import numpy as np
data = np.loadtxt("") #将⽂件中数据加载到data数组⾥
⼆、写⽂件
1.简单的将字符串写⼊txt中
with open('','w') as f: #设置⽂件对象
f.write(str) #将字符串写⼊⽂件中
2.列表写⼊⽂件
单层列表
data = ['a','b','c']
#单层列表写⼊⽂件
with open("","w") as f:
with open("","w") as f:
f.writelines(data)
双层列表
#双层列表写⼊⽂件
#第⼀种⽅法,每⼀项⽤空格隔开,⼀个列表是⼀⾏写⼊⽂件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("","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']]
python怎么读取文件中的数据with open("","w") as f: #设置⽂件对象
for i in data: #对于双层列表中的数据
f.writelines(i) #写⼊⽂件
3.数组写⼊⽂件中
#将数组写⼊⽂件
import numpy as np
#第⼀种⽅法
np.savetxt("",data) #将数组中数据写⼊到⽂件
#第⼆种⽅法
np.save("",data) #将数组中数据写⼊到⽂件
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、adline() 返回⼀⾏
5、adline([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模块
保留汉字re
re.findall(u'[\u4e00-\u9fff]+', a_str)保留汉字、换⾏符re
re.findall(u'[\u4e00-\u9fff\n]+', a_str) list to string
a_str = ' '.join(a_list)
string to list
a_list = a_str.split(' ')
删除\替换特定符号
a_str_cln = place('⼁','')
re
a_str_cln = re.sub('|', ' ', a_str)
确定b中a位置并返回值re
re.search(a, b).span()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论