Python基础 文本控制 文件编码格式 使用python读写文件 常用的文件打开方式

简介: Python基础 文本控制 文件编码格式 使用python读写文件 常用的文件打开方式,文件对象的常用方法,文件读写的原理,读取磁盘文件中的内容


编码格式:
常见的字符编码格式
Python的解释器使用的是Unicode(内存)
.py文件在磁盘上使用UTF-8存储(外存)
文件的读写原理:
1.文件的读写俗称“IO操作”  I是指input输入,O是指output输出,所以说IO操作就是输入输出操作。
IO的原理就是一种数据结构,叫做队列,先进先出的方式。
2.文件读写操作流程
3.操作原理:
    Python操作文件---打开或新建文件---读、写文件---关闭资源
文件的读写操作:
1.内置函数open()创建文件对象:
通过IO流将磁盘文件中的内容与程序中的对象中的内容进行同步
open()函数有两个参数,文件名和打开模式
2.语法规则:
file=open("a.txt","r")
语法中的含义:
file  被创建的文件对象,将打开的文件赋值给file
open() 创建文件对象的函数
filename  要创建或打开的文件名称
mode    打开模式默认为只读   mode是要创建一个文件还是打开一个文件,写的操作是w,读的操作是r
encoding   默认文本文件中字符的编写格式为gbk

在E://python text的位置创建一个a.txt的记事本文件,在文件中输入中国。然后用Python来读取这个文件

记事本文件默认是gbk的文件编码格式,而python默认是UTF-8的编码格式,所以无法直接读取

file=open("E://python text/a.txt", "r",encoding="UTF-8")

open打开,open(第一个参数位置输入文件的位置,第二个参数位置输入读(r),或写(w),第三个位置输入编码格式encoding="编码格式"),然后将这个结果赋值给file

file=open("E://python text/a.txt","r",encoding="UTF-8") #file等于a.txt文件、
print(file.readlines()) #file.readlines()读取file的内容并输出
file.close() #关闭file文件
常用的文件打开方式
​​​​文件类型:
    按文件中数据的组织形式,文件分为以下两大类:
        1.文本文件:存储的是普通"字符"文本,默认为unicode字符集,可以使用记事本程序打开
        2.二进制文件:把数据内容用"字节进行存储",无法用记事本打开,必须使用专用的软件打开,
        举例:mp3音频文件,jop图片,doc文档等
打开方式:
r   以只读的模式打开文件,文件的指针将会在文件的开头
w   以只写的模式打开文件,如果文件不存在则创建,如果文件存在,则覆盖原有内容,文件指针在文件的开头。注意:w写入的内容会将源文件的原内容替换掉
a   以追加的模式打开文件,如果文件不存在则创建,文件指针在文件开头,如果文件存在,则在文件末尾追加内容,文件指针在源文件末尾。注意:a写入的内容不会替换源文件的内容,只会追加输入到源文件内容的后面。
b   以二进制方式打开文件,不能单独使用,需要与其他模式一起使用,rb,或者wb
+   以读写方式打开文件,不能单独使用,需要与其他模式一起使用。

w,只写的方式打开文件,每次写入内容会替换文件里原有的内容。

hua=open("b.txt","w") #没有b.txt文件则创建改文件,再写入文件
hua.write("华哥最帅!") #如果已经存在该文件,则将此写入的内容替换掉原文件原有的的内容,因为会每次运行都会替换掉原来的内容,所以运行再多次,也只有这句话。
file.close() #关闭文件

a,追加的模式打开文件,每次写入内容都会在源文件内容的后面追加输入,不会替换源文件内容。

zhi=open("b.txt","a") #以a的打开方式打开该文件,zhi变量等于b.txt文件
zhi.write("大帅比") #因为a的打开方式不会替换源文件的内容,只会将写入结果追加在原内容后面,所以运行三次之后,文件会出现三个大帅比

file.close()

wei=open("E://python text/dazi.png","rb") #将初始的daizi.png格式的文件以二进制只读的方式打开
zhiwei=open("E://python text/da.png","wb") #因为没有da.png文件,所以就创建一个,并以二进制的方式写入
zhiwei.write(wei.read()) #read(),若括号里没有写读取几个字节,那么则读取文件所有字节并返回,这里是将文件里的字节读取后都写入到了zhiwei这个文件里。

wei.close() #结束后记得关闭文件
zhiwei.close() #结束后记得关闭文件
文件对象的常用方法:
read([size])    从文件中读取size个字节或字符的内容返回。若省略          [size],则读取到文件末尾,即一次读取文件所有内容。
readline()      从文本文件中读取一行内容
readlines()     把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回
write(str)      将字符串str内容写入文件
writelines(s_list)      把字符串列表s_list写入文本文件,不添加换行符
seek(offset[,whence])      把文件指针移动到新的位置,offset表示相对于whence的位置:
                            offset:参数为正往结束方向移动,参数为负往开始方向移动
                            whence不同的值代表不同的含义:
                            0:从文件头开始计算(默认值)
                            1:从当前位置开始计算
                            2:从文件尾开始计算
tell()      返回文件指针的当前位置
flush()     把缓冲区的内容写入文件,但不关闭文件
close()     把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源

相关文章
|
1月前
|
自然语言处理 数据处理 Python
python操作和解析ppt文件 | python小知识
本文将带你从零开始,了解PPT解析的工具、工作原理以及常用的基本操作,并提供具体的代码示例和必要的说明【10月更文挑战第4天】
305 60
|
30天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
11天前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
52 3
|
10天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
12天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
15 2
|
1月前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
51 1
Python实用记录(十三):python脚本打包exe文件并运行
|
28天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
28天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
1月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
46 2
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
41 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数