python基础语法:第五章 文件操作

第一节 文件的操作

一、文件的操作步骤

        1.文件的操作步骤包括三步:

        (1)打开

        (2)操作

        (3)关闭

        2.文件操作的三个必须有打开和关闭两个步骤,可以没有操作步骤。

        3.关于打开的含义有两层:一是如果文件存在,则会被打开;二是如果不存在,则会被创建。

        4.文件的关闭相当于保存,同时可以释放计算机内存。

二、文件操作知识扩展

        Python对文本文件和二进制文件采用统一的操作步骤,即“打开―操作―关闭”,如图7.1所示。操作系统中的文件默认处于存储状态,首先需要将其打开,使得当前程序有权操作这个文件,打开不存在的文件系统可以创建这个文件。打开后的文件处于占用状态,此时,另一个进程不能操作这个文件。可以通过一组方法读取文件的内容或向文件写入内容,操作之后需要将文件关闭,关闭将释放对文件的控制使文件恢复成存储状态,此时,另一个进程将能够操作这个文件。

三、文件的打开方式

模式

描述

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb

以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+

打开一个文件用于读写。文件指针将会放在文件的开头。

rb+

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w

打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb

以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

w+

打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb+

以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

a

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。以二进制格式打开一个文件用于追加。

ab

如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+

打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

        1.关于访问模式的总结

        (1)r、w、a三个模式属于主访问模式,也称为基础访问模式。

        (2)带b均为二进制格式

        (3)带+均为可读可写

        (4)带b+均为二进制+可读可写

        (5)r和w模式下,光标指标均位于文件开头,而a模式下光标指标会放在文件结尾。

        2.r+、w+、a+的总结

        r+: r没有该文件则报错;文件指针在开头,所以能读取出来数据

        w+:没有该文件会新建文件:w特点:文件指针在开头,用新内容覆盖原内容

        a+:没有该文件会新建文件:文件指针在结尾,无法读取数据(文件指针后面没有数据)

        3.r是read的缩写,含义是读;w是write的缩写,含义是写;a是add的缩写,含义是追加。

        使用r模式打开文件时,如果文件存在,则可以正常打开;如果文件不存在,则代码运行时会报错。

        4.关于三种基础访问模式的用法总结

        r:只读,如果文件不存在,报错;执行写入,会错,因为r表示只读,不支持写入。

        w:只写,如果文件不存在,新建文件;执行写入,会覆盖原有内容

        a:追加,如果文件不存在,新建文件;执行写入,在原有内容基础上,追加新内容

        访问模式参数可以省略,如果省略表示访问模式为r。省略访问模式的代码写法:

        f=open(“文件名”)

第二节 文件操作函数

一、打开

open()函数

1.语法:

open(name,mode)

        name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。name可以使用一个表示文件路径的变量。

        mode:设置打开文件的模式(访问模式):只读、写入、追加等。

        2.示例代码:

 f= open('test.txt','w')

        注意:此时的f是open函数的文件对象。

二、操作

        1.写

        write()函数

        语法:

 f.write('内容')

        2.读

        (1)read()

             语法:

 f.read(num)

            num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。

        如果文件有换行符,read(num)设置参数时,读取到的个数和参数不一致,是因位换行符也占用一个字符

        (2)readline()函数

             语法:

f.readline()

         readline()—次读取一行内容。好像是从开始至结尾,每次只读取一行内容。

        (3)readlines()函数

             语法:

 f.readlines()

         作用:readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

        如果有换行符,表示中元素后面会连同换行符一起读取出来。

        总结:为方便调用读取的内容,最好将读取的内容赋值给一个变量。

        3.seek

        seek()函数

        作用:用来移动文件指针。

          语法如下:

f.seek(偏移量,起始位置)

            起始位置参数的含义:

             0:文件开头

             1:当前位置

             2:文件结尾

三、关闭

        close()函数

             语法:

 f.close()

      第三节 文件和文件夹操作模块os

方法

描述

os.rename(旧文件名,新文件名)

用于文件和文件侠重命名。可以为指定路径中的文件夹重命名。如果文件夹不存在,则代码报错。

os.remove(文件名)

只用于删除文件

os.mkdir(文件夹名)

创建文件夹(一级目录)。可以在指定路径中创建文件夹方法:路径/文件夹名。如果文件夹存在,则代码会报错。创建文件时,路径的前一级目录必须存在,否则会报错。

os.rmdir(文件夹名)

只用于删除文件夹。可以在指定路径中创建文件夹方法:路径/文件夹名。如果文件夹不存在,则代码会报错

os.chdir(路径)

修改默认目录

os.getcwd()

获取当前目录

os.listdir(目录)

以列表形式获取文件名和目录名

os._exit()

退出当前进程

os.exec()

执行一个新的程序,有空好好研究一下此方法

        扩展:

        1.os.path模块中的方法

        os.path.isdir(文件路径)  判读路径是否存在,如果存在,则返回True,否则返回False

        2.单词释义:

        mkdir 是英语make directory的缩写。directory在计算机行业有文件和目录的含义。

        3.学习说明

        关于文件操作的模块,创建文件夹,删除文件夹,在D:\Day6\Mycode\Day22\os.py中试验成功。

        但是在D:\MyCode\DaZongJie\16.os模块文件中书写代码时会出错。估计是因为UFT-8之类的编码设置错误原因造成的。

第四节 文件操作的补充知识

一、文件路径的写法

        1.使用“/”书写,这种格式同windows路径写法。技巧:可以直接在文件中复制文件的路径,粘贴在python中即可。

        path1='D:/python笔记备份/Python大总结/lujing.txt'

        2. 1.使用“\”书写,这种格式同windows路径写法。优先推荐使用此写法,在os模块使用第一种写法会报错

        path2='D:\python笔记备份\Python大总结\lujing.txt'

二、读取.txt文件中的中文

        f=open('1.txt',encoding='UTF-8')

        将文件编码设置成UTF-8,UTF8或utf8均可以正常显示,但是如果设置成utf-8则不可以正常显示。

三、环境变量

        环境变化的作用是指示某些特定的系统文件所在的位置。

第五节 os.path模块

1.abspath()方法--获取绝对路径

abspathO)方法用于返回文件或者目录的绝对路径。

语法格式如下:

os .path.abspath(path)

参数说明:
path:表示要获取绝对路径的相对路径,可以是文件也可以是目录。

返回值:返回获取到的绝对路径。

2.dirname()方法---获取路径中的目录

dirname0)方法用于从一个路径中提取目录。

语法:

os.path.dirname(path)

参数说明:
path:表示要提取目录的路径。
返回值:返回提取后的目录。

3.join()方法--拼接路径

join0 方法用于将两个或者多个路径拼接到一起组成一个新的路径。语法格式如下:

os.path.join(path,*paths)

参数说明:
path:表示要拼接的文件路径

*paths:表示要拼接的多个文件路径,这些路径间使用逗号进行分隔。如果在要拼接的路径中,没有一个绝对路径,那么最后拼接出来的将是一个相对路径。

返回值:拼接后的路径。

第六节 with上下文操作

个人总结:

with open() as f:

相当于

  f=open()

  f.close()

待总结:学习资料:揭秘Python中的with语句_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值