python文件处理

、打开文件

1.1、语法:

open(file,mode='',encoding='')
  • open() :该方法是Python提供的内置函数,可以用来打开文件并且返回一个用来描述文件的对象
  • file 参数:一个用来描述文件名称的字符串,这里可以是绝对路径,也可以是相对路径
  • mode 参数: 一个可选字符串参数,用于打开文件的模式,默认值是r,表示只读    ;w 表示文本写入,会覆盖原文件内容,文件不存在时会创建文件 ; x  表示文本写入,文件不存在时会创建创建文件,如果文件已经存在则报错 ; a 表示文本写入,如果文件存在则在文件末尾追加内容;如果文件不存在则创建文件 。
  • 和mode组合的字符 b 表示操作二进制数据,例如'rb' 表示读取二进制数据 ;t 表示文本模式,默认是文本模式,例如'rt',一般t省略 ;  + 表示读取与写入,例如'r+' ,既可以读又可以写
  • w+ 可读可写 是清空文件后写入,光标是在write字符串的后面。。r+也是可读可写,但是是光标是从文件开头开始读,写是在文件末尾写。a+ 也是可读可写,但是是光标是从文件末尾开始读写。
  • encoding参数: 用来描述打开文件时使用的字符编码
file = open('demo.txt',mode='r',encoding='utf-8')

f.read() 只读取文件全部内容

f.read(length) 用来读取length指定长度的字符,返回字符串

f.readline() 读取文件内容第一行

f.readlines() 读取文件内容所有行,以字典得形式罗列,将文件内容以列表形式打印(这个方法效率低对大文件)

readlines()读取非常消耗内存

二 、关闭文件

1、close() 方法可以用来关闭正在操作的文件对象,释放内存资源。当使用完某个文件时要调用close方法进行关闭。

2、with 上下文管理 主要用来解决忘记调用close()方法而造成的资源浪费的情况,当使用完文件对象时会自动调用close() 方法进行关闭

语法:

with  open(file , mode = '' , encoding = '')  as  file_name:
      操作语句

例如:对demo.txt文件进行读取并将结果打印到控制台上

with open('demo.txt','r',encoding = 'utf-8') as file:
     print(file.read())

三、目录操作

以下方法需要引入os模块

方法名作用
os.listdir(path)返回path路径下的所有文件和目录名称
os.mkdir(path)根据path路径创建目录
os.rmdir(path)根据path路径删除目录
os.remove(path)根据path路径删除文件
os.rename(old_name,new_name)给文件重命名
os.path.isfile()判断是否是文件
os.path.isdir()判断是否是目录

f.flush() 将内存中的文件内容刷新到磁盘当中

f.truncate 断,如果不带参数会清空文件。带参数如:truncate(20):表示从文件开头往后截取20个字符。需要以a模式打开文件。

isatty():看终端设备(打印机,屏幕等终端),用于底层交互

fileno():返回文件句柄在内存中的编号(这个编号属于操作系统内部IO)

writeable():判断文件是否可写

readable():判断文件是否可读。

 不使用readlines,使用f ,不消耗内存,可以使用for循环将f内部做成一个迭代器,进行使用一行,读取一行得方式取文件内容,占内存资源少,如下 :

f.tell() 记录光标位置

f.seek() 调整光标位置

 

with方法:

为了打开文件后忘记关闭,可以通过管理上下文,即如下:该方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。python2.7后,with又支持同时对多个文件的上下文进行管理,即如下:

注意##### r+, w+, a+

# r+:光标默认在0位置,最后位置开始写
# w+:先清空,再写读
# a+:光标默认在最后位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值