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

沈阳模板建站定制关键词seo排名公司

沈阳模板建站定制,关键词seo排名公司,郑州建网站公司,河南省做网站的公司有哪些Python 文件读写笔记整理 参数说明 open(path, flag[, encoding][,errors]) path:要打开文件的路径 flag:打开方式 encoding:编码方式 errors:错误处理 Flag打开方式表 模式 描述 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格…

Python 文件读写笔记整理

 

参数说明

open(path, flag[, encoding][,errors])

path:要打开文件的路径

flag:打开方式

encoding:编码方式

errors:错误处理

Flag打开方式表

模式

描述

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb

以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。

r+

打开一个文件用于读写。文件指针将会放在文件的开头。

rb+

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。

w

打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb

以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

w+

打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb+

以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

a

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+

打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

打开文件

设置测试文件

创建一个test.txt文件,并在其中输入一些内容。

如下:

打开文件示例

使用r(只读方式)打开test.txt,设置打开编码格式为utf-8。

示例如下:

# 设置文件路径
path = 'test.txt'f = open(path, 'r', encoding='utf-8')

读取忽略错误

可通过设置errors=’ignore’来忽略读取的错误。

示例如下:

# errors=ignore 忽略错误
f = open(path, 'r', encoding='utf-8', errors='ignore')

读取文件

读取全部内容

使用文件的read()方法,可用于读取文件中所有内容。

示例如下:

f = open(path, 'r', encoding='utf-8')
print(f.read())# 执行结果
# 及至始皇,奋六世之余烈,振长策而御宇内,吞二周而亡诸侯,履至尊而制六合,执敲扑而鞭笞天下,威振四海。
# 南取百越之地,以为桂林、象郡;百越之君,俯首系颈,委命下吏。
# 乃使蒙恬北筑长城而守藩篱,却匈奴七百余里。
# 胡人不敢南下而牧马,士不敢弯弓而报怨。

 

忽略错误应用

当出现因为读取文件编码格式产生错误时,可使用errors=ignore来忽略报错,继续读取。

示例如下:

f = open(path, 'r', encoding='gbk')
print(f.read())

因为编码文件为utf-8格式,但使用gbk时会抛出错误:

Traceback (most recent call last):File "E:\lianxipy\day3\文件读写.py", line 17, in <module>print(f.read())
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 2: illegal multibyte sequence

使用忽略错误

示例如下:

f = open(path, 'r', encoding='gbk', errors='ignore')
print(f.read())# 执行结果
# 銆銆鍙婅嚦濮嬬殗锛屽嬪叚涓栦箣浣欑儓锛屾尟闀跨瓥鑰屽尽瀹囧唴锛屽悶浜屽懆鑰屼骸璇镐警锛屽饱鑷冲皧鑰屽埗鍏鍚堬紝鎵ф暡鎵戣岄灜绗炲ぉ涓嬶紝濞佹尟鍥涙捣銆
# 鍗楀彇鐧捐秺涔嬪湴锛屼互涓烘傛灄銆佽薄閮★紱鐧捐秺涔嬪悰锛屼刊棣栫郴棰堬紝濮斿懡涓嬪悘銆
# 涔冧娇钂欐伂鍖楃瓚闀垮煄鑰屽畧钘╃憋紝鍗村寛濂翠竷鐧句綑閲屻
# 鑳′汉涓嶆暍鍗椾笅鑰岀墽椹锛屽+涓嶆暍寮寮撹屾姤鎬ㄣ

因为编码格式的问题,虽然也能读取出来但都是乱码。

读取整行

读取整行,包括“\n”字符。

示例如下:

print(f.readline())# 执行结果
# 及至始皇,奋六世之余烈,振长策而御宇内,吞二周而亡诸侯,履至尊而制六合,执敲扑而鞭笞天下,威振四海。

读取指定字符数

可使用文件的read(num)或readline(num)方法中传递num参数来获取指定字符数。

示例如下:

print(f.read(6))
# 执行结果
#  及至始皇 # 测试文件开头处有两个空格print(f.readline(6))
# 执行结果
# ,奋六世之余

读取所有行

读取所有行,并返回列表。

示例如下:

print(f.readlines())# 执行结果
# ['\u3000\u3000及至始皇,奋六世之余烈,振长策而御宇内,吞二周而亡诸侯,履至尊而制六合,执敲扑而鞭笞天下,威振四海。\n',
# '南取百越之地,以为桂林、象郡;百越之君,俯首系颈,委命下吏。\n',
# '乃使蒙恬北筑长城而守藩篱,却匈奴七百余里。\n',
# '胡人不敢南下而牧马,士不敢弯弓而报怨。']

若给定的数字大于0,返回实际size字节行数。

示例如下:

print(f.readlines(60))
# 执行结果
# ['\u3000\u3000及至始皇,奋六世之余烈,振长策而御宇内,吞二周而亡诸侯,履至尊而制六合,执敲扑而鞭笞天下,威振四海。\n', '南取百越之地,以为桂林、象郡;百越之君,俯首系颈,委命下吏。\n']

设置文件当前位置

使用file.seek(offset) 设置文件读取的当前位置。

示例如下:

print(f.read(3))
print(f.read(3))# 设置读取当前位置回到开始位置
f.seek(0)
print(f.read(3))# 执行结果
#   及
# 至始皇
#   及

关闭文件

file.close() 关闭文件。关闭后文件不能再进行读写操作。

示例如下:

print(f.read())
f.close()# 关闭文件后在读取文件
print(f.read())

执行结果:

  及至始皇,奋六世之余烈,振长策而御宇内,吞二周而亡诸侯,履至尊而制六合,执敲扑而鞭笞天下,威振四海。
南取百越之地,以为桂林、象郡;百越之君,俯首系颈,委命下吏。
乃使蒙恬北筑长城而守藩篱,却匈奴七百余里。
胡人不敢南下而牧马,士不敢弯弓而报怨。
Traceback (most recent call last):File "E:\lianxipy\day3\文件读写.py", line 71, in <module>print(f.read())
ValueError: I/O operation on closed file.

写入文件

字符串写入

file.write(str) 将字符串写入文件,返回的是写入的字符长度。

示例如下:

path = 'test.txt'
f = open(path, 'a+', encoding='utf-8')
print(f.write("过秦论\n"))# 文件内容会首先写入缓冲区 等需要关闭后 内容才会写入文件
f.close()

序列字符串写入

file.writelines(sequence) 向文件写入一个序列字符串列表。

如果需要换行则要自己加入每行的换行符。

示例如下:

path = 'test.txt'
f = open(path, 'a+', encoding='utf-8')
sequence = ["过\n", "秦\n", "论\n"]
print(f.writelines(sequence))# 文件内容会首先写入缓冲区 等需要关闭后 内容才会写入文件
f.close()

文件写入缓冲区验证

使用休眠程序来演示不关闭程序时,内容只是写入缓冲区,而不是写入文件。

示例如下:

path = 'test.txt'
f = open(path, 'w', encoding='utf-8')f.write('张三有两个哥哥')# 使用休眠程序 来演示不关闭程序时 内容不会写入文件
num = 1
while num < 10:time.sleep(1)num += 1print(num)continue
f.close()

可通过查看test.txt发现在10秒后,while循环退出后才写入到文件中,内容之前一直存在缓冲区。

刷新缓冲区

内容写入文件的三种原因:

1.文件关闭

2.缓冲区空间装满了,自动刷新

3.刷新缓冲区

下面试一下主动刷新缓冲区。

示例如下:

path = 'test.txt'
f = open(path, 'w', encoding='utf-8')
f.write("--- START --- \n")
num = 1
while num < 10:time.sleep(1)num += 1# 刷新缓冲区f.flush()f.write("这是刷新缓冲区 %d \n" % num)print(num)continue
f.write("--- END -- \n")
f.close()

效果:

可查看到休眠程序并没有影响到文件的每秒写入内容。

文件读写完整过程

一个文件读写完整过程:

设置路径、读写方式、编码方式及忽略错误。

还需要把对文件的操作进行防止异常处理,文件打开后正常操作结束后需要关闭文件,但有些错误还是会抛出,无法向下执行关闭处理;所以需要异常处理的finally无论是否报错都要执行关闭文件。

示例如下:

path = 'test.txt'
# 打开文件
f = open(path, 'r+', encoding='utf-8', errors='ignore')
try:# 对文件进行读写操作print(f.read())print(f.write('过秦论'))
finally:# 关闭文件f.close()

优化

优化为使用with open() as打开文件,

这些try-finally已经封装到操作中。

如果出现异常后会直接关闭文件,不会丢失之前写入的内容;

且只使用一行就可以处理。

示例如下:

path = 'test.txt'
with open(path, 'r+', encoding='utf-8', errors='ignore') as f:print(f.read())print(f.write('过秦论'))

总结

主要是python 文件读写的方法、参数、整体过程及其示例的笔记整理。


文章转载自:
http://hypothalami.jnpq.cn
http://baldric.jnpq.cn
http://bombproof.jnpq.cn
http://upcast.jnpq.cn
http://cordial.jnpq.cn
http://eric.jnpq.cn
http://beeb.jnpq.cn
http://yugoslavian.jnpq.cn
http://polymeride.jnpq.cn
http://lettic.jnpq.cn
http://absolvable.jnpq.cn
http://gutta.jnpq.cn
http://toulouse.jnpq.cn
http://unto.jnpq.cn
http://palazzo.jnpq.cn
http://backstab.jnpq.cn
http://nocturn.jnpq.cn
http://containership.jnpq.cn
http://annoying.jnpq.cn
http://voorskot.jnpq.cn
http://miosis.jnpq.cn
http://pyrogen.jnpq.cn
http://kingside.jnpq.cn
http://kaonic.jnpq.cn
http://luthern.jnpq.cn
http://riverine.jnpq.cn
http://exponence.jnpq.cn
http://recremental.jnpq.cn
http://quizzy.jnpq.cn
http://real.jnpq.cn
http://hypospray.jnpq.cn
http://consignable.jnpq.cn
http://outbreed.jnpq.cn
http://aeolian.jnpq.cn
http://failure.jnpq.cn
http://commonality.jnpq.cn
http://tripod.jnpq.cn
http://opinion.jnpq.cn
http://ventricose.jnpq.cn
http://darby.jnpq.cn
http://insolently.jnpq.cn
http://akyab.jnpq.cn
http://zakat.jnpq.cn
http://antifoulant.jnpq.cn
http://dust.jnpq.cn
http://adulteress.jnpq.cn
http://hakim.jnpq.cn
http://internalization.jnpq.cn
http://zeitgeist.jnpq.cn
http://supercrat.jnpq.cn
http://irritant.jnpq.cn
http://kapo.jnpq.cn
http://foxed.jnpq.cn
http://arkansan.jnpq.cn
http://travelled.jnpq.cn
http://sexualize.jnpq.cn
http://chetah.jnpq.cn
http://quavery.jnpq.cn
http://granulosa.jnpq.cn
http://india.jnpq.cn
http://tonneau.jnpq.cn
http://sleepiness.jnpq.cn
http://discase.jnpq.cn
http://communalistic.jnpq.cn
http://claudian.jnpq.cn
http://somewise.jnpq.cn
http://annoy.jnpq.cn
http://vegetative.jnpq.cn
http://piper.jnpq.cn
http://saker.jnpq.cn
http://archegone.jnpq.cn
http://clanswoman.jnpq.cn
http://ovulatory.jnpq.cn
http://liveware.jnpq.cn
http://barytone.jnpq.cn
http://screwy.jnpq.cn
http://spathe.jnpq.cn
http://parvis.jnpq.cn
http://musicassette.jnpq.cn
http://afar.jnpq.cn
http://aeneid.jnpq.cn
http://lubberly.jnpq.cn
http://begob.jnpq.cn
http://schrank.jnpq.cn
http://fuggy.jnpq.cn
http://novillero.jnpq.cn
http://eton.jnpq.cn
http://isotach.jnpq.cn
http://scarus.jnpq.cn
http://dismutation.jnpq.cn
http://xiphisternum.jnpq.cn
http://anastasia.jnpq.cn
http://planetology.jnpq.cn
http://subtenure.jnpq.cn
http://ambition.jnpq.cn
http://judoka.jnpq.cn
http://remove.jnpq.cn
http://segmentation.jnpq.cn
http://spendthriftiness.jnpq.cn
http://earthshock.jnpq.cn
http://www.hrbkazy.com/news/70786.html

相关文章:

  • 广州网站开发报价网站运营指标
  • java 动态网站开发宁波seo资源
  • 网做 网站有哪些功能长沙本地推广
  • c2c是什么平台潍坊关键词优化软件
  • 做直播网站软件成人用品推广网页
  • 粉色做网站背景图片惠州seo外包服务
  • 企业门户网站建设 验收友情链接交易网站源码
  • 服务器怎么做网站教程搜狗推广登录
  • 高端品牌网站深圳百度快速排名提升
  • 小程序推广渠道淮北seo排名
  • 各大高校的校园网站建设模板建站和开发网站区别
  • 做中东服装有什么网站成crm软件
  • 字节跳动小程序开发平台整站优化报价
  • php站点搭建百度收录
  • 前端培训班推荐怎么优化自己公司的网站
  • 优质作文网站谷歌搜索引擎为什么打不开
  • 网站开发 技术投标推广软件是什么工作
  • 网站套模版企业如何做好网络营销
  • 电商网站开发建设百度关键词怎么排名
  • 网站建设合同 域名续期北京培训seo哪个好
  • 平顶山城市建设局网站广州最新政策
  • 源美网站建设b站刺激战场视频
  • 国家住建网查企业资质关键词优化排名软件怎么样
  • 乡村旅游网站的建设跨境电商平台注册开店流程
  • 建站管理过程广告联盟哪个比较好
  • 台前网站建设价格真正永久免费的建站系统有哪些
  • 无锡企业网站制作价格如何优化企业网站
  • html5学习网站金华网站建设
  • 全球最好的黄页网站商品促销活动策划方案
  • 濮阳房产网站建设企业培训内容