python - 文件目录操作 之 file文件读写 - txt文件

目录

1.文本文档函数

2.open函数

3.WITH OPEN


1.文本文档函数

  • file.close()  关闭文件
  • file.flush()  刷新文件内部缓冲,即立刻把缓冲区的数据立刻写入文件。
  • file.fileno()  返回整型的文件描述符。
  • file.isatty()  如果文件连接到一个终端设备返回 True,否则返回 False。
  • file.next()  返回文件下一行。
  • file.read([size])  从文件读取指定的字节数,如果未给定或为负则读取所有。
  • file.readline([size])  读取整行,包括 "\n" 字符。
  • file.readlines([sizehint]) 读取所有行并返回列表。
  • file.seek(offset[, whence]) 设置文件当前位置
  • file.tell()  返回文件当前位置。
  • file.truncate([size])  截取文件,size指定截取位置。
  • file.write(str)  将字符串写入文件,没有返回值。
  • file.writelines(sequence)  向文件写入字符串列表,需换行则要加入每行的换行符。
  • file.name() 读取打开的文件名

 

2.open函数

(1)open语法参数

open()函数语法格式为:open(file, mode, buffering, encoding, errors, newline, closefd]

  • (1)file文件位置,需要加单引号、双引号
  • (2)mode为文件打开模式,有r,w,a等方式
  • (3)buffering
  • 0代表buffer关闭,只适用于二进制模式
  • 1代表line buffer,只适用于文本模式
  • >1表示初始化的buffer大小
  • (4)encoding编码格式,一般为utf-8 或 gbk
  • (5)errors 取strict 或 ignore
  • strict:字符编码出现问题时,会报错
  • ignore:字符编码出现问题时,会被忽略
  • (6)newline可取值为None,\n,\r,",",\r\n 用于区分换行符,但这个参数只对文本模式有效
  • (7)closed的取值,是与传入的文件参数有关

 

(2)open()打开文件模式

模式

描述

r

只读方式打开,默认模式,文件的指针在开头。

rb

二进制格式打开。

r+

打开文件用于读写。

rb+

以二进制格式打开一个文件用于读写。

w

打开文件用于写入,若已存在则覆盖,否则创建新文件。

wb

以二进制格式打开文件用于写入,若已存在则覆盖,否则创建新文件。

w+

打开一个文件用于读写,若已存在则覆盖,否则创建新文件。

wb+

以二进制格式打开一个文件用于读写。若已存在则覆盖,否则创建。

a

用于追加,若已存在,内容被写入最后面。如果不存在,创建新文件写入。

ab

以二进制格式打开用于追加,若已存在,内容被写入最后面,若不存在,新建文件写入。

a+

用于读写,若已存在,内容被写入最后面。如果不存在,创建新文件写入。

ab+

以二进制格式打开用于读写,若已存在,内容被写入最后面。如果不存在,创建新文件写入。

 

(3)open案例

#创建文件
#w与w+模式都可是新建文件,若已存在则覆盖掉
f1=open("f:/test1234a.txt",'w');##以w+模式也可以

#在原文件后追加内容
a与a+都是在文件末尾追加内容,若文件不存在则新建s
str='追加内容'
f1=open("f:/hlq123.txt",'a+');
f1.write(str);

#清空原文件再写入内容
str='追加内容'
f1=open("f:/hlq123.txt",'w+');
f1.write(str);

 

(4)open指定编码格式

# 写入utf-8格式
data="中国美"
fh=open("f:/hlq_post.txt","w+" ,encoding="utf-8")
fh.write(data)
fh.close

# 写入二进制格式
data=b"\x89\x98"
fh=open("E:/hlq_post.txt","wb+")
fh.write(data)
fh.close

 

3.WITH OPEN

with open用到上下文管理器,优点在:若文件读写时产生IOError,会自动执行f.close()保存已写入的数据

(1)读文件

with open('/path/to/file', 'r') as f:
    print(f.read())

(2)写文件

with open('/Users/michael/test.txt', 'w') as f:
    f.writelines('Hello, world!')
#注意:python3后with open不再有write函数

(3)字符编码

with open('/Users/michael/gbk.txt', 'r', encoding='gbk', errors='ignore') as f:
    print(f.read())

(4)二进制文件

with open('/Users/michael/test.jpg', 'rb') as f:
    print(f.read())

(5)同时打开多个文件

#可以进行多个文件同时打开,并且不用关心文件有关闭的问题

with open('a.txt','r',encoding='utf-8') as f,open('b.txt') as f1:

    ....

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值