归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言📝
路在脚下,勇往直前!
文件被广泛应用于用户和计算机的数据交换。Python 程序可以从文件读取数据,也可以向文件写入数据。用户在处理文件过程中,可以操作文件内容,也可以管理文件目录。
一、文件的概念:
文件是数据的集合,以文本、图像、音频、视频等形式存储在计算机的外部介质中。存储文件的介质可以是本地存储、移动存储或网络存储等形式,最典型的存储介质是磁盘。根据文件的存储格式不同,可以分为文本文件和二进制文件两种形式。
文本文件由字符组成,这些字符按 ASCIl码、UTF-8或Unicode 等格式进行编码,文件内容方便查看和编辑。Windows记事本创建的.txt格式的文件就是典型的文本文件,以.py 为扩展名的Python 源文件、以.html为扩展名的网页文件等都是文本文件。文本文件可以被多种编辑软件创建、修改和阅读,常见的编辑软件有记事本、Noptpad++等。
二进制文件存储的是由0和1组成的二进制编码。二进制文件内部数据的组织格式与文件用途有关。典型的二进制文件包括.bmp格式的图片文件、avi格式的视频文件、各种计算机语言编译后生成的文件等。
二进制文件和文本文件最主要的区别在于编码格式,二进制文件只能按字节处理,文件读写的是 Bytes 字符串。
无论是文本文件还是二进制文件,都可以用“文本文件方式”和“二进制文件方式”打开,但打开后的操作是不同的。
编码就是用数字来表示符号和文字,它是符号、文字存储和显示的基础。我们经常可以看到
的用密码对文件加密,之后进行传输和破译,就是一种编码和解码的过程。计算机有很多种编码方式。最早的编码方式是 ASCIl码,即美国标准信息交换码,仅对 10个数字、26 个大写英文字符、26 个小写英文字符及其他一些常用符号进行了编码。ASCIl 码采用8位(1字节)编码,因此最多只能表示 256个字符。
随着信息技术的发展,汉语、日语、阿拉伯语等不同语系的文字都需要进行编码,于是又有了 UTF-8、Unicode、GB 2312、GBK 等格式的编码。采用不同的编码意味着把同一字符存入文件时,写人的内容可能不同。Python 程序读取文件时,一般需要指定读取文件的编码方式,否则程序运行时可能出现异常。
Unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案,它是编码转换的基础,编码转换时,先把一种编码的字符串转换成 Unicode 编码的字符串,然后再转换成其他编码的字符串。
UTF-8编码是国际通用的编码方式,用8位(1字节)表示英语(兼容ASCIl码),以24位(3字节)表示中文及其他语言,UTF-8对全世界所有国家的字符都进行了编码。若文件使用了UTF-8编码格式,在任何平台下(如中文操作系统、英文操作系统、日文操作系统等)都可以显示不同国家的文字。Python语言源代码默认的编码方式是 UTF-8。
GB 2312编码是中国制定的中文编码,用1字节表示英文字符,用2字节表示汉字字符。GBK是对GB 2312的扩充。
需要注意的是,采用不同的编码方式,写人文件的内容可能是不同的。就汉字编码而言,GBK编码的1个汉字占2个字节空间,UTF-8编码的1个汉字占3个字节空间,Unicode 编码中的个汉字占2个字节空间。
文件指针是文件操作的重要概念,Python 用指针表示当前读/写位置。在文件的读写过程中文件指针的位置是自动移动的,用户可以使用tell()方法测试文件指针的位置,使用seek()方法移劲指针的位置。以只读方式打开文件时,文件指针会指向文件开头;向文件中写入数据或追加数据时,文件指针会指向文件末尾。通过设置文件指针的位置,可以实现文件的定位读写。
二、文件读写模式:
三、文件读/写操作的常用方法 :
四、os.path 模块常用的文件处理函数: