当前位置: 首页 > news >正文

浏阳做网站的公司价格做网站外国的服务器

浏阳做网站的公司价格,做网站外国的服务器,深圳城市更新或提速,哈尔滨公众号制作【python技巧】文本文件的读写操作 0. 背景1. file库的文件操作1.1 打开文件---file.open()1.2 读取文件---file.read()1.3 写入文件---file.write()1.4 查找内容---file.seek() 2. re库的文本处理参考资料 0. 背景 最近在写后端接口的时候,需要对.c、.conf等类型的…

【python技巧】文本文件的读写操作

    • 0. 背景
    • 1. file库的文件操作
      • 1.1 打开文件---file.open()
      • 1.2 读取文件---file.read()
      • 1.3 写入文件---file.write()
      • 1.4 查找内容---file.seek()
    • 2. re库的文本处理
    • 参考资料

0. 背景

最近在写后端接口的时候,需要对.c.conf等类型的文件进行读写操作,在这里整理一下学习收获。

1. file库的文件操作

file库是python中用于处理文件的读取、修改等操作,引入方式为

import file

1.1 打开文件—file.open()

使用open()函数打开文件,语法为:

import file
f=open(file_name="xx.txt", mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

其中,file_name为文件名,mode为打开文件的模式,buffering为缓冲区大小,encoding为编码格式,errors为错误处理方式,newline为换行符,closefd为关闭文件描述符,opener为自定义开启方式。
比较常用的参数为:file_namemodeencoding

  • file_name是文件的绝对路径或者相对路径。

  • mode的常用取值如下:
    在这里插入图片描述

  • encoding的常用取值如下:
    目前常用的文本文件编码格式有:ASCII、GB2312、GBK、GB18030、BIG5、ISO-8859-1、UCS-2、UTF-16、UTF-8。
    其中,ASCII通常为英文字符编码,GB2312、GBK、GB18030、BIG5为中文字符编码,ISO-8859-1为西欧字符编码,UCS-2、UTF-16、UTF-8为通用字符编码。
    在实际编码过程中常用的是UTF-8编码。

1.2 读取文件—file.read()

文件读取的方式有两种:一种是一次性读取所有内容,一种是按行读取。
假设有文件xx.txt,内容如下:

第一行内容;
第二行内容,
第三行内容
第四行内容
……
  • 一次性读取所有内容
import file
with open(file_name="xx.txt", mode='r') as f:content=f.read()#从头到尾进行文件读取
print(content)#打印整个文件内容

输入效果类似于:

第一行内容;第二行内容,第三行内容第四行内容……

read()还可以传入数字,形成read(n),表示读取n个字符。

  • 按行读取
    按行读取有两个函数:readline()readlines()
    其中,readline()是每次读取一行文件内容,readlines()是将文件内容按行读取到一个列表中。
    readline()的使用方法如下:
import file
content_line="读取内容:\n"#设置起始内容
with open(file_name="xx.txt", mode='r') as f:while content_line:##当读取内容不为空的时候print(content_line)#打印整个文件内容content_line=f.readline()#逐行读取文件内容

输入效果类似于:

第一行内容;
第二行内容,
第三行内容
第四行内容
……

readlines()的使用方法如下:

import file
with open(file_name="xx.txt", mode='r') as f:content=f.readlines()#读取全部文件内容,按行分割,形成列表
print(content)#打印整个文件内容,是一个列表格式

输入效果类似于:

[第一行内容;
第二行内容,
第三行内容
第四行内容
……]

1.3 写入文件—file.write()

文件写入的方式有两种:一种是一次性写入所有内容,一种是按行写入。

  • 一次性写入所有内容
import file
content="待写入内容,可以很长"#设置写入内容
with open(file_name="xx.txt", mode='w') as f:f.write(content)#写入文件,这是使用的是覆盖写入
  • 按行写入
    按行写入函数为writelines(),将列表中的内容按行写入文件。
    writelines()的使用方法如下:
import file
content=["写入内容1\n","写入内容2\n","写入内容3\n"]#设置写入内容
with open(file_name="xx.txt", mode='w') as f:f.writelines(content)#写入文件

此时,文件内容为:

写入内容1
写入内容2
写入内容3

需要注意的是,如果列表content中的元素没有添加换行符,writelines()不会自动添加换行符,因此可能会出现多行内容写入到一行的情况。
因此,如果需要换行,需要在列表中的元素中添加换行符。

1.4 查找内容—file.seek()

tell()函数用于判断文件指针当前所处的位置
使用方式如下:

import file
with open(file_name="xx.txt", mode='r') as f:print(f.tell())f.read(1024)print(f.tell())

输出结果为:

0
1024

seek()函数用于移动文件指针到文件的指定位置。
常见的使用方式如下:

import file
with open(file_name="xx.txt", mode='r') as f:print(f.tell())#输出:0f.read(1024)print(f.tell())#输出:1024f.seek(203)#从文件头开始,移动到第203个字符处print(f.tell())#输出:203

在这里介绍一下seek函数的参数:

seek(offset, whence)
# offset:必需参数,偏移量,相对于某一个基点的字符移动距离,正数表示按照文件流方向向后移动,负数表示逆着文件流方向向前移动
# whence:可选参数,可设置基点位置,0表示文件头(默认情况下),1表示当前位置,2表示文件尾

2. re库的文本处理

当然,在Python中,还有一个专门用于文本处理的库,那就是re库。

我们读取文件内容,肯定不是单纯为了输出或者重新写入,对于文本我们一定有一些查找、定位的需求。

在python中,使用正则表达式能应付大多数情况下的数据处理需要,这就需要用到re库,因此,我会在后续的更新中跟进正则表达式和re库的相关知识,敬请期待。

参考资料

  1. Python3 File(文件) 方法
  2. Python文件基本操作整理
  3. Python 文件处理–详细整理
  4. Unicode,ASCII,UTF-8的区别
  5. Python seek()和tell()函数详解
http://www.yayakq.cn/news/52585/

相关文章:

  • 东阳网站建设微信开发单位网站建设建议对策
  • 中国社交网站做多外国人的电子商城网站开发 pdf
  • 哪种公司一般会做网站域名到期对网站的影响
  • 自己网站做虚拟币违法吗网站开发是用什么语言
  • 电脑怎样做网站主题网站的设计方案
  • 最快做网站的语言seo推广服务
  • 企业网站建设费用大约多少钱最好装修公司排名
  • 漂亮企业网站太原关键词优化软件
  • 天猫的网站建设上传的网站怎么打开
  • 电商网站是什么网站源码提取
  • 安徽省港航建设投资集团网站中国建设银行预约网站首页
  • 网站建设意识形态快速建站费用
  • 如何建设网站兴田德润实惠湘潭网站建设是什么
  • 网站降权表现wordpress 漏洞利用
  • 包头住房与城乡建设局网站宜昌哪里有专业做网站的
  • 怎样创建一个自己的网站263企业邮箱app下载官网
  • 医疗网站建设中心外包公司不给交社保怎么办
  • 网站建设申请书新手学做网站学哪些知识
  • 做网站代理拉别人网站装修材料厂家哪家好
  • 中国建设银行网站怎么改支付密码忘了怎么办seo关键词优化推广哪家好
  • 如何查询网站备案360网站推广官网硅钙钾镁肥
  • 网站建设费用用奉贤网站制作
  • 帮人做推广的网站北京本地网络推广平台
  • 苏州 手机网站会员小程序怎么做
  • 网站注册页面怎么做数据验证码怎么在dw里做网站
  • 北京网上网页设计培训甘肃seo优化
  • 网站推广策划书wordpress情侣主题
  • 天津开发区网站苏州教育学会网站建设
  • wordpress管理系统西安网站seo推广
  • 做钢管用哪个门户网站网站如何添加白名单