Python学习之探秘IO操作

本文围绕Python文件与目录操作展开。介绍基本文件操作,如用open()函数创建和打开文件,使用with语句避免文件未关闭问题,还涉及写入、读取文件的多种方式;阐述目录操作需用到os和os.path模块;最后提及os模块中的高级文件操作函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本的Python文件操作

  • 创建和打开文件:

    即Python内置的open()函数的使用方法,写法格式如下:

    file = open('路径和文件名' [, 文件打开模式 [, 缓存大小 [, encoding='编码格式']]])
    

    其中,文件打开模式的可选参数有:

    说明备注
    r以只读模式打开文件文件必须存在
    rb以二进制只读模式打开文件文件必须存在
    r+以读写模式打开文件文件必须存在
    rb+以二进制读写模式打开文件文件必须存在
    w以只写模式打开文件文件存在则覆盖,不存在则创建
    wb以二进制只写模式打开文件文件存在则覆盖,不存在则创建
    w+以读写模式打开文件文件存在则覆盖,不存在则创建
    wb+以二进制读写模式打开文件文件存在则覆盖,不存在则创建
    a以追加模式打开文件文件存在则追加,不存在则创建
    ab以二进制追加模式打开文件文件存在则追加,不存在则创建
    a+以读写模式(追加)打开文件文件存在则追加,不存在则创建
    ab+以二进制读写模式(追加)打开文件文件存在则追加,不存在则创建

    缓存大小则需要传入一个非负整数,值为0表示不缓存,值为1表示缓存(默认),值大于1则表示为缓冲区的大小;

    encoding参数注意需要把encoding=加上,默认使用GBK编码格式

  • 关闭文件:file.close()
    由于文件打开之后要及时将其关闭,否则会出现意想不到的问题。另外,当Python在打开文件的过程中出现异常,将导致文件不能被及时关闭
    为了避免此问题的发生,推荐使用with语句进行文件处理。当使用with语句打开文件时,无论是否抛异常,都能保证with语句执行完毕后关闭已经打开的文件,也省去了手动关闭文件的步骤

    with语句格式:

    with open() as file:
        IO代码块
    
  • 写入文件:file.write(content)

  • 读取文件:

    1. file.read([size]) 读取指定字符
      需要传入size参数代表读取几位字符。默认读取文件的所有内容。由于默认是从头开始读的,可以使用seek(offset [, whence])方法将文件指针移动到一个具体的位置(offset指跳过的字符个数(中文2个字符,英文和数字1个字符),whence指从文件哪里开始:0表示从文件头部开始(默认),1表示从当前位置开始,2表示从文件尾部开始)

    2. file.readline() 逐行读取
      当文件过大时使用read()方法很容易内存不足,所以通常会逐行进行读取

    3. file.readlines() 读取全部行(较少使用)

      将文件中所有的行读取处理,返回一个字符串列表

二、Python目录操作

Python中所有的目录相关操作都需要使用到os模块和os.path模块

  • os模块常用的属性及函数有:

    属性或函数说明
    os.name获取操作系统类型。nt为Windows;posix为Linux、Unix或MacOS
    os.linesep获取当前操作系统上的换行符
    os.sep获取当前操作系统上的路径分隔符
    os.getcwd()返回当前的工作目录
    os.listdir(path)返回指定路径下的文件和目录信息
    os.mkdir(path[,mode])创建目录
    os.mkdirs(path1/path2…[, mode])创建多级目录
    rmdir(path)删除目录
    removedirs(path1/path2…)删除多级目录
    chdir(path)把path设置为当前工作目录
    walk(top[,topdown[,onerror]])遍历目录树,返回一个包含所有路径名、目录列表和文件列表的元组
  • os.path模块的常用目录操作函数有:

    函数说明
    os.path.abspath(path)获取某个文件或目录的绝对路径
    os.path.exists(path)判断某个文件是否存在
    os.path.join(path,name)将目录和文件名拼接成一个字符串
    os.path.splitext()将目录与文件名分开
    os.path.basename(path)从一个目录中提取出文件名
    os.path.isdir(path)用于判断是否为有效路径

三、Python高级文件操作

os模块中包含的高级文件操作函数:

函数说明
access(path,accessmode)获取对文件的访问权限。accessmode取值为R_OK(读),W_OK(写),X_OK(执行)或F_OK(存在),若有则返回1,无则返回0
chmod(path,mode)修改path指定的文件访问权限
remove(path)删除指定路径所在的文件
rename(filename1,filename2)将文件名filename1改为filename2
stat(path)返回path指定文件的信息
startfile(path[, operation])使用关联的应用程序打开path指定的文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值