人生苦短,我选择Python上一篇传送门小白学Python(一):入门小白学Python(二):基本数据类型(上)小白学Python(三):基本数据类型(下)Python初学者入门(四):变量的基本操作Python入门入门(五):基本运算符(上)Python入门入门(六):基本运算符(下)小白学习Python(7):基本流程控制(上)小白学习Python(8):基本流程控制(下)小白学习Python(9):基本数据结构(列表)(上)小白学习Python(10):数据结构基础(列表)(下)小白学习Python(11):数据结构基础(元组)小白学习Python(12):数据结构基础(字典)(上)小白学习Python(13):数据结构基础(字典)(下)小白学Python(十四):数据结构基础(集)(下)小白学Python(十五):数据结构基础(集)(下)2)小白学习Python(16):基本数据类型(函数)(上)小白学习Python(17):基本数据类型(函数)(下)绝对路径和相对路径在介绍文件操作之前,我们先介绍两个概念,绝对路径和相对路径。先看百度下百度的解释:绝对路径:指目录下的绝对位置,直接到目标位置,通常是从盘符开始的路径。完整描述文件位置的路径是绝对路径。相对路径:相对路径是指由该文件所在的路径引起的与其他文件(或文件夹)的路径关系。不知道各位同学看懂没有,如果看不懂,我再举个栗子加深大家的理解。绝对路径比如我们要描述Demo.py的绝对路径,那么就是:F:/project/python-learning/base-data-def/Demo.py。相对路径相对路径是描述当前位置相对于目标位置的路径。例如,我们当前的路径是F:/project/python-learning/。我们还是要描述上面的Demo.py,所以它的相对路径是./base-data-def/Demo.py。打开文件Python为我们提供了内置函数open()来打开文件。常用语法:open(file,mode='r')完整语法:open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)参数说明:file:必填,文件路径(相对或绝对路径)。mode:可选,文件打开模式buffering:设置缓冲区编码:一般使用utf-8errors:错误级别newline:区分换行符closefd:传入文件参数类型mode参数常用值:mode描述t文本模式(默认)。x写模式,新建一个文件,如果文件已经存在,会报错。b二进制模式。+打开文件进行更新(可读和可写)。r以只读方式打开文件。文件指针将放置在文件的开头。这是默认模式。rb以二进制格式打开一个只读文件。文件指针将放置在文件的开头。这是默认模式。一般用于图片等非文本文件。r+打开一个文件进行读写。文件指针将放置在文件的开头。rb+以二进制格式打开文件进行读写。文件指针将放置在文件的开头。一般用于图片等非文本文件。w打开只写文件。如果文件已经存在,则从头开始编辑文件,即删除原来的内容。如果该文件不存在,则创建一个新文件。wb以二进制格式打开一个只写文件。如果文件已经存在,则从头开始编辑文件,即删除原来的内容。如果该文件不存在,则创建一个新文件。一般用于图片等非文本文件w+打开一个文件进行读写。如果文件已经存在,则从头开始编辑文件,即删除原来的内容。如果该文件不存在,则创建一个新文件。wb+以二进制格式打开文件进行读写。如果文件已经存在,则从头开始编辑文件,即删除原来的内容。如果该文件不存在,则创建一个新文件。一般用于图片等非文本文件。a打开文件进行追加。如果文件已经存在,文件指针将放在文件末尾。也就是说,新内容将写在现有内容之后。如果该文件不存在,则创建一个新文件用于写入。ab以二进制格式打开文件以进行追加。如果文件已经存在,文件指针将放在文件末尾。也就是说,新内容将写在现有内容之后。如果该文件不存在,则创建一个新文件用于写入。a+打开文件进行读写。如果文件已经存在,文件指针将放在文件末尾。该文件将以追加模式打开。如果该文件不存在,则新建一个文件进行读写。ab+以二进制格式打开文件以进行追加。如果文件已经存在,文件指针将放在文件末尾。如果该文件不存在,则新建一个文件进行读写。只说不练假动作,这是我们的第一个例子:str1=open('F:/project/python-learning/base-data-def/Demo.py',mode='r').read()print(str1)打印结果我就不贴了,但是我们之前文章的示例代码打印是正常的。编码格式根据编码格式的不同,文件可分为文本字符和二进制字节。我们每天看到的都是文本字符,但是文本字符在计算机中存储时会被转换成二进制字节。这时候就要考虑编码问题了。我们来看一下转换的示例图:值得注意的是,在Python3中,文件的默认编码方式是UTF-8,文本字符常用的编码有ASCII和Unicode。说了这么多,我们来看一个示例代码:str2='好好学习,天天进步'print(type(str2))a=str2.encode('utf-8')print(type(a))print(a.decode('utf-8'))打印结果如下:类型变为byte。如果我们像编码gbk一样对上面的a进行解码呢?print(a.decode('gbk'))的结果如下:Traceback(mostrecentcalllast):File"F:/project/python-learning/base-file/Demo.py",line10,in
