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

免费网站建站排名今朝装饰老房装修套餐

免费网站建站排名,今朝装饰老房装修套餐,雄安建设集团 网站,网站策划书怎么做的美观12. File Python open() 方法用于打开一个文件,并返回文件对象。 注意: 使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。如果该文件无法被打开,会抛出 OSError open(file, moder, buffering-1, encodingNone, e…

12. File

Python open() 方法用于打开一个文件,并返回文件对象。
注意:

  1. 使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
  2. 如果该文件无法被打开,会抛出 OSError
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数说明:

  • file: 必需,文件路径(相对或者绝对路径)。
  • mode: 可选,文件打开模式
  • buffering: 设置缓冲
  • encoding: 一般使用utf8
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。

mode参数有:

模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

12.1 close()

close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触ValueError 错误。 close() 方法允许调用多次。

当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用 close() 方法关闭文件是一个好的习惯。

fileObject.close();
# 打开文件  
fo = open("python.txt", "wb")  
print("文件名为: ", fo.name)  # 关闭文件  
fo.close()

结果:

文件名为:  python.txt

12.2 flush()

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

fileObject.flush();
# 刷新缓冲区
fo.flush()

12.3 fileno()

fileno() 方法返回一个整型的[[文件描述符]](file descriptor FD 整型),可用于底层操作系统的 I/O 操作。

fileObject.fileno(); 
# 打开文件
fo = open("python.txt", "wb")fid = fo.fileno()
print ("文件描述符为: ", fid)# 关闭文件
fo.close()

结果:

文件描述符为:  3

12.4 isatty()

isatty() 方法检测文件是否连接到一个终端设备,如果是返回 True,否则返回 False。

fileObject.isatty(); 
import sys  fo = open("python.txt", "wb")  
print(fo.isatty())  
fo.close()  print(sys.stdout.isatty())

结果:

False
False

使用cmd运行

False
True

12.5 read()

read() 方法用于从文件读取指定的字符数(文本模式 t)或字节数(二进制模式 b),如果未给定参数 size 或 size 为负数则读取文件所有内容。

fileObject.read([size]); 

python.txt

这是第一行
这是第二行
这是第三行
这是第四行
这是第五行
# 打开文件  
fo = open("python.txt", "r+")   line = fo.read(10)  # 读取10个字符
print ("读取的字符串: %s" % (line))  # 关闭文件  
fo.close()

结果:

读取的字符串: 这是第一行
这是第二

12.6 readline()

readline() 方法用于从文件读取整行,包括 “\n” 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 “\n” 字符。

fileObject.readline(); 
"""
1:python
2:python
"""
# 打开文件  
fo = open("python.txt", "r+")  line = fo.readline()  
print ("读取第一行 %s" % (line))  line = fo.readline(5)  
print ("读取的字符串为: %s" % (line))  # 关闭文件  
fo.close()

结果:

读取第一行 1:python读取的字符串为: 2:pyt

12.7 readlines()

readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for… in … 结构进行处理。 如果碰到结束符 EOF 则返回空字符串。

fileObject.readlines( );
"""
1:python
2:python
"""
# 打开文件
fo = open("runoob.txt", "r")for line in fo.readlines():                          #依次读取每行  line = line.strip()                             #去掉每行头尾空白  print ("读取的数据为: %s" % (line))# 关闭文件
fo.close()

结果:

读取的数据为: 1:python
读取的数据为: 2:python

12.8 seek()

seek() 方法用于移动文件读取指针到指定位置。

fileObject.seek(offset[, whence])

参数

  • offset – 开始的偏移量,也就是代表需要移动偏移的字节数,如果是负数表示从倒数第几位开始。
  • whence: 可选,默认值为 0。给 offset 定义一个参数,表示要从哪个位置开始偏移;0 代表从文件开头开始算起,1 代表从当前位置开始算起,2 代表从文件末尾算起。
# 0123456789abcdef
f = open('python.txt', 'rb+')  
f.seek(5)      # 移动到文件的第六个字节  print(f.read(1))  # b'5'f.seek(-3, 2)  # 移动到文件倒数第三个字节  print(f.read(1)) # b'd'

12.9 tell()

tell() 方法返回文件的当前位置,即文件指针当前位置。

fileObject.tell()
# 打开文件  
fo = open("python.txt", "r+")  
print("文件名为: ", fo.name)  print("读取的数据为: %s" % (fo.readline()))  # 获取当前文件位置  
print("当前位置: %d" % (fo.tell()))  # 关闭文件  
fo.close()

结果:

读取的数据为: 1:python当前位置: 10

12.10 truncate()

truncate() 方法用于从文件的首行首字节开始截断,截断文件为 size 个字节,无 size 表示从当前位置截断;截断之后的所有字节被删除,其中 Widnows 系统下的换行代表2个字节大小。

fileObject.truncate( [ size ])

参数

  • size – 可选,如果存在则文件截断为 size 字节。
"""
1:python  
2:python
"""
# 打开文件  
fo = open("python.txt", "r+")  fo.truncate(10)  # 关闭文件  
fo.close()
"""
1:python
"""

12.11 write()

write() 方法用于向文件中写入指定字符串。

  • 在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。
  • 如果文件打开模式带 b,那写入文件内容时,str (参数)要用 encode 方法转为 bytes 形式,否则报错:TypeError: a bytes-like object is required, not 'str'
  • 换行需要制定换行符 \n。
fileObject.write( [ str ])
"""
1:python  
2:python
"""
# 打开文件  
fo = open("python.txt", "r+")  str = "\n3:python"  
# 在文件末尾写入一行  
fo.seek(0, 2)  
line = fo.write( str )  # 读取文件所有内容  
fo.seek(0,0)  
for index in range(3):  print (next(fo))  # 关闭文件  
fo.close()
"""
1:python  
2:python  
3:python
"""

12.12 writelines()

与write一致,不需要换行符

12.13 with关键字

使用 with 关键字系统会自动调用 f.close() 方法, with 的作用等效于 try/finally 语句是一样的。

with open('./test_runoob.txt', 'w') as file:file.write('hello world !')

文章转载自:

http://f91biUVx.wmmqf.cn
http://ZN5JCnAM.wmmqf.cn
http://KUloF1Qy.wmmqf.cn
http://o8ua77O2.wmmqf.cn
http://AprKwdoh.wmmqf.cn
http://POCjdcZM.wmmqf.cn
http://jk7c3ItK.wmmqf.cn
http://lKuUlrSi.wmmqf.cn
http://3VnpEmbG.wmmqf.cn
http://HsyMg3d2.wmmqf.cn
http://Cw5LZ528.wmmqf.cn
http://yC6Ga9L9.wmmqf.cn
http://fKOMoenL.wmmqf.cn
http://zhkAtQoD.wmmqf.cn
http://j9NRxWAU.wmmqf.cn
http://UHz2bCGP.wmmqf.cn
http://QvSEgJcc.wmmqf.cn
http://ANUaXrPg.wmmqf.cn
http://HnUv90jL.wmmqf.cn
http://oTs7pNPi.wmmqf.cn
http://FN0WsvSJ.wmmqf.cn
http://sS8ckMt4.wmmqf.cn
http://qHFMS3t2.wmmqf.cn
http://odzE1On3.wmmqf.cn
http://V4TO84az.wmmqf.cn
http://jxjKLs8b.wmmqf.cn
http://DsJi58du.wmmqf.cn
http://dyWsfUan.wmmqf.cn
http://sg7JD3Ok.wmmqf.cn
http://Kc4HaoZt.wmmqf.cn
http://www.dtcms.com/wzjs/643675.html

相关文章:

  • 网站在建设中 英语淘宝cms建站
  • 哪些网站可宣传廊坊网站制作工具
  • 万网网站备案查询个人网页设计图片素材网
  • 帝国cms入门到精通企业门户网站制作建站视频教程盘县做会计兼职的网站
  • 改图宝在线编辑图片厦门seo网站
  • 天津seo网站推广古云网站建设
  • 网站建设与维护项目六 天堂资源地址在线官网
  • 手机网站发号系统源码网站建设中 倒计时
  • 竞价托管网站建设淮南网络营销
  • 什么叫网站被k软件app大全免费
  • 嘉兴网站搭建wordpress多站点功能
  • 网站设计的素材万词霸屏百度推广seo
  • 企业网站开发技术题库开发 程序网站
  • html5网站开发案例视频网站标题修改
  • 山西建设工程备案网站如何建立网站教程
  • 中关村在线网站的建设泉州电商网站建设
  • 北京市建设工程质量监督站网站保之友微网站怎么建
  • 找一个免费的网站上海网站建设电
  • 微信的公众平台网站开发南昌百度快速排名优化
  • 法人查询湖南网站优化代运营
  • 如何查看网站架构搜索引擎的优化方法
  • 网站建设整改报告购物商城项目
  • 四川自助网站小程序开发平台有哪些
  • html5高端酒水饮料企业网站模版推荐网站网页
  • 微信网站与响应式网站怎样做公司的网站
  • vue做的网站影响收录么wordpress 星星评分
  • 小韩网站源码网站建设要点
  • 网站开发前后端技术公众号的推广
  • 怎么把网页设置为不信任网站马鞍山网站建设文
  • 创建网站的优势如何提升wordpress网站速度