【Python】open打开

2017年03月17日    Author:Guofei

文章归类: 0xb0_Python语法    文章编号: 1206


版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2017/03/17/pythonio.html

Edit

open

可以open文本文件和二进制文件

x=open("data.txt", encoding='utf-8', mode="r")
for i in x:
    print(i) # 相当于x.readline()

open

f=open(...)

读写模式

  • r:只读,如果文件不存在,则输出错误
  • w:只写,如果文件不存在,则创建
  • a:只写,在末尾追加写入
  • x:只写,如果文件存在,则报错
  • r+:读写

b代表二进制,t代表文本模式(默认)

  • rb:只读二进制,如果文件不存在,则输出错误
  • wb:只写二进制,如果文件不存在,则自动创建
  • ab:附加到二进制文件末尾
f.read() # 返回字符串,内容是游标后到文件末尾的全部内容
f.read(100) # 返回游标之后的100个字符(没有100个字符则返回实际行数)
f.readline() # 返回下一行内容的字符串,结尾返回空字符串
f.realines() # 返回list,每项是字符串,含\n
#readlines([size])
for i in f:print(i) # i是str(如果是b模式open的,是bytes)
list(f) # [i for i in f]

f.seek(0) # 设置游标位置到0,游标位置
#f.seek(off, whence) where为0表示从文件开始算起,1表示从当前位置算,2表示从文件结尾算,off可正可负.只有b模式,才允许1,2.
f.tell() # 返回当前的游标位置编号

f.write(str) # 把文本或二进制写入文件。并不立即写入文件,而是close时写入文件。不会自动加换行符
f.writelines(<list>) # 把list写入文件,不会在元素之间自动加逗号、空格等
f.close() # 写入数据会在这一步实际写入到硬盘中

flush() # 清空I/O缓存,并把数据强行写回磁盘

注1:用readline取数后,下面的for in语句中,将不会从文件头开始,因为游标已经移动

对话框IO

str_1 = input("Enter a string: ")

您的支持将鼓励我继续创作!
WeChatQR AliPayQR qr_wechat