python中使用文件的读取和简单正则使用(一)

p { margin-bottom: 0.25cm; line-height: 120% }

今天想写个程序合并文件的,以前一直觉得python的编码解码好烦,只要处理文件合并之类的都是用C#
写,但是最近用的是linux,也没有vs,就只能乖乖的用python 写了,早上看了下,也没有我想的负责,只能说以前太那啥了。。。。好了,闲话少说,下面先简单介绍下文件读取操作吧。

首先说明的是我用的python2.7,python读取文件内容主要有下面几种常用方法:先来个测试,方面大家可以清晰了解每种方法具体是啥样子的。

文件的内容是下面这样的

一种:fopen.read(size)

p { margin-bottom: 0.25cm; line-height: 120% }

参数size指的是读取数量,如果省略的化,表示的读取整个文件内容

1 # coding=utf-8
2 fopen=open(‘train2.txt‘,‘r‘)
3 text=fopen.read()
4 print(text)#默认读取全部内容

显示整个文本内容,如下:

二种:fopen.readline()读取文件一行的内容

三种:fopen.readlines()读取所有的行到list里面,[line1,line2,...lineN] 这是一种常用的方法,避免将所有文件加载到内存,提高运行效率

fopen=open(‘train2.txt‘,‘r‘)
lines=[]
lines=fopen.readlines()
for line in lines:
    print(line)

p { margin-bottom: 0.25cm; line-height: 120% }

读文件差不多就这样了,下面我们来说下写文件,这就涉及到编码问题了,python中的写文件为fout.write(str),str为一个字符串。

对于中文字符的写入大多会因为编码问题提示出错。

py文件默认是ASCII编码 ,所以在显示中文的时候,会t提示SyntaxError: Non-ASCII character之类的错误,首先在代码前端加入:

# coding=utf-8

unicode是一个内置函数,第二个参数指示源字符串的编码格式。

decode是任何字符串具有的方法,将字符串转换成unicode格式,参数指示源字符串的编码格式。

encode也是任何字符串具有的方法,将字符串转换成参数指定的格式。

用 u‘汉字‘ 构造出来的是unicode类型,不用的话构造出来是str类型

从unicode转str,要用encode方法

从str转unicode,要用decode

所以在写入中文的时候,代码如下:

# coding=utf-8
fopen=open(‘train2.txt‘,‘r‘)
fout=open(‘2.txt‘,‘w‘)
lines=[]
lines=fopen.readlines()
for line in lines:    #以gbk编码读取(当然是读取gbk编码格式的文字了)并忽略错误的编码,转换成utf-8编码输出
    line.decode(‘gbk‘,‘ignore‘).encode(‘utf-8‘)
    fout.write(line)
    fout.write(‘\n‘)#这是换行

好了,读写文件差不多这些也够用了,下面说个简单的正则,这个放在下篇了

p { margin-bottom: 0.25cm; line-height: 120% }

时间: 2024-09-30 05:28:12

python中使用文件的读取和简单正则使用(一)的相关文章

Python中.npz文件的读取

有时候从网上下载的数据集扩展名(后缀名)是npz,我们需要对数据进行加载(读取):例如:识别猫狗图片的二分类,下的数据集分别为cat.npz和dog.npz import numpy as npcat_data = np.load('cat.npz')dog_data = np.load('dog.npz') 因为以npz结尾的数据集是压缩文件,里面还有其他的文件使用:cat_data.files 命令进行查看 可以看出,cat_data.npz数据集中有:x_test,y_train,y_te

【Python】解析Python中的文件操作

目录结构: contents structure [-] 简介 Python中的文件类型 内置函数的文件操作 open()函数 Mode 创建文本文件 读取文本文件 循环文件对象 关闭文件 With语句 os模块 fileinput模块 1.简介 在Python中无需引入额外的模块来进行文件操作,Python拥有内置的文件操作函数(除了内置文件操作函数,Python语言也提供了额外的文件操作模块,它们具有更加强大的功能). os模块提供了在操作系统上可移植的文件操作方法.如果只是想要读取和写入数

python中对文件、文件夹的操作需要涉及到os模块和shutil模块。

创建文件:1) os.mknod("test.txt") 创建空文件2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件 创建目录:os.mkdir("file") 创建目录 创建多层新目录:def mkdirs(path): # 去除首位空格 path=path.strip() # 去除尾部 \ 符号 path=path.rstrip("\\") # 判断路径是否存在 # 存在 True #

python中关于文件的操作

今天让我们来一起学习一下python中关于文件的操作吧: 先看看以下如果打开文件: #open()打开文件的方法:r参数只能以读的方式打开文件,不能写 =(,,=)data=.read()(data)

解决 python 中读写文件的终极方案 UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illega

UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illegal multibyte sequence 上面是遇到的错误,本来想完成读文件,再写入另一文件的.但是在 fp.read() 时,一直遇到上面的错误,经过各种百度,google, 还有神奇的 stackoverflow 才知道是字符流的问题. 知道问题所在,还是没有解决,又苦苦搜索,终于在 stackoverflow 上找到灵感,可以把 op

python中的文件操作open()函数

文件操作: 1.关于open 模式: r     以读方式打开,    f=open(r"C:\Users\shaopeng\Desktop\py_homework\DAY6\readme.txt","r") w     以写方式打开,  如果文件存在则会清洗掉原文件的内容,然后把写的东西写进新文件 f=open(r"C:\Users\shaopeng\Desktop\py_homework\DAY6\readme.txt","w&qu

python 中有关文件处理

Python的文件处理 打开文件f = open ("path","mode") r 模式以读的方式打开,定位到文件开头 , 默认的 mode.文件不存在直接报错,文件只能读取,不能写入. r+模式以读写的方式打开,定位文件开头 , 可以写入内容到文件 w 模式以写的方式打开,打开文件的时候会清空文件的内容,并且不能读 w+模式以读写的方式打开,定位到文件头,并且打开文件的时候也会清空文件的内容 a模式以写的方式打开,定位到文件的末尾,是一个追加的操作 , 但并不允

在Python中对文件和目录进行操作

文件与目录操作是编程语言中非常重要的功能,Python也对其提供了相应的API支持,这篇博文就是具体介绍它们的使用方法. 一.文件打开和关闭操作 对文件进行操作在Python中分为3个步骤,首先要打开文件,然后是对文件进行读写操作,最后需要关闭文件. 1.打开文件使用的是open()函数,它提供初始化输入.输出(I/O)操作的通用接口,成功打开文件后返回一个文件对象,打开失败则引发一个错误.打开文件的语法如下: file_object = open(file_name,access_mode [

vc中json文件的读取、修改和添加字段的方法

前言: 本代码涉及到对json文件的读取.修改和添加方法 WTL中radir button的状态判断和设置可选以及取消可选 示例: 所需头文件: #include <json.h> #include <file_io.h> 代码部分: //读取下载线路在界面上的radir button中显示 void CMainDlg::read_download_line_from_cfg() { std_string strDownloadLine; file_io<> json_