python 文件的基本操作

Posted lovelife`

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 文件的基本操作相关的知识,希望对你有一定的参考价值。

 文件的概念

 文件的概念和作用

1.计算机的 文件,就是存储在某种 长期储存设备 上的一段 数据

2.长期存储设备包括:硬盘、U 盘、移动硬盘、光盘...

文件的作用

1.将数据长期保存下来,在需要的时候使用。

文件的存储方式

1.在计算机中,文件是以 二进制 的方式保存在磁盘上的

文本文件和二进制文件

1.文本文件

2.可以使用 文本编辑软件 查看

3.本质上还是二进制文件

例如:python 的源程序

1.二进制文件

2.保存的内容 不是给人直接阅读的,而是 提供给其他软件使用的

3.例如:图片文件、音频文件、视频文件等等

4.二进制文件不能使用 文本编辑软件 查看

python 中文件的基本操作:

 

不同模式打开文件的完全列表:

模式描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

 

file对象相关的所有属性的列表:

 

属性描述
file.closed 返回true如果文件已被关闭,否则返回false。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

 

例子1

#打开一个文件 名叫login.txt  以 w 的方式读取
File = open("login.txt", "w",encoding="UTF-8")
#向文件写入一行数据
File.write("这是第一行\\n")
File.write("这是第二行\\n")
File.close()

注意:open 打开文件不指定路径默认在当前文件夹创建

执行结果: 会建立一个文件并将内容写入进去

例子2

#打开一个文件 将一条信息追加进去
loginFile = open("login.txt", "a",encoding="UTF-8")
loginFile.write("这是第3行\\n")
#关闭文件
loginFile.close()

执行结果:可以看到文件又多加了一行

例子3

f6  = open("login.txt","rb")                 #以二进制文件格式读这个文件
print(f6.readline())
print(f6.readline())
print(f6.readline())
f6.close()

例子4

#with语句作用,为了避免打开文件后忘记关闭

with open("file_test","r",encoding="utf-8") as f:          #类似于f = open("file_test","r",encoding="utf-8")

with open("file_test","r",encoding="utf-8") as f, \\        #还可以同时打开多个文件
        open("file_test2","r",encoding="utf-8") as f2:

例子5

#flush用法
f = open("file_test","w",encoding="utf-8")
f.write("hello\\n")
f.write("hello\\n")
f.write("hello\\n")
f.flush()       #当往文件写内容的时候,会有一个缓存,达到一个时间,一次往文件写入。如果这时候断电可能内容并没有写入成功,flush刷新会立即执行

文件的修改

#打开一个文件,修改完了写到一个新文件
f = open("file_test","r",encoding="utf-8")
f_new = open("file_new","w",encoding="utf-8")
for line in f:                               #按行取出,每行都是一串字符串
    if "fengxiaoli" in line:
        line = line.replace("fengxiaoli","FENGXIAOLI")       #对字符串进行操作,J
    f_new.write(line)
f.close()
f_new.close()

以上是关于python 文件的基本操作的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

使用 Python 代码片段编写 LaTeX 文档

学习笔记:python3,代码片段(2017)

Python的基本库与第三方库

VSCode 如何操作用户自定义代码片段(快捷键)

VSCode自定义代码片段——git命令操作一个完整流程