python第六次课-文件操作

一、简介

在编程工作中文件操作还是比较常见的,基本文件操作包括:创建、读、写、关闭等,Python 中内置了一些文件操作函数,我们使用 Python 操作文件还是很方便的。

操作流程

  • 第一步:新建/打开文件

  • 第二步:读取/写入

  • 第三步:关闭文件

二、打开文件

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

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

w

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

如果该文件不存在,创建新文件。

rb

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

一般用于非文本文件如图片等。

ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

ab+

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

案例:D:/py1中创建一个文件abc.txt 

f = open("d:/py1/abc.txt")
f.close()

三、打开文件操作

打开文件读写方式

  • r+:是以读写方式打开,但是如果文件不存在,就会报错

  • w+:是以读写方式打开,但是如果文件不存在,就会创建新文件;如果文件存在,则正常打开

案例:从磁盘的文件中读内容

#coding=utf-8
# 打开文件
file1 = open("D:/py1/a2.txt","w+")

# 读取文件的内容
str = file1.read()

# 关闭文件
file1.close()

print(str)

read方法

  • 作用:是从打开的文件中读取内容

  • 原理:read是通过移动指针来从文件中读取内容

案例:

#coding=utf-8
# 打开文件
file1 = open("D:/py1/a1.txt","r")

# 读取文件的内容
# 第一次读取文件的内容
str1 = file1.read()
# 第二次读取文件的内容
str2 = file1.read()

# 关闭文件
file1.close()

# 第一次读取文件内容,会正常输出,第二次执行read没有任何输出
# 因为第一次读取完成后,指针已经移动到了最后的位置
print(str1)
print(str2)

write方法

  • 作用:是向文件中写入内容

案例:向文件中写入内容

str1 = "hello boys\n"
str2 = "i am"
str3 = "zxhk\n"
str4 = "i come from hebei\n"

# 第一步:新建/打开文件
file = open("d:/py1/myfile.txt","a")

# 第二步:写入
file.write(str1)
file.write(str2)
file.write(str3)
file.write(str4)

# 第三步:关闭文件
file.close()

案例:将myfile.txt 复制一个新文件afile.txt

# 打开两个
# myfile.txt 以只读打开,然后读取内容
f1 = open("d:/py1/myfile.txt","r")
# afile.txt  以写打开,
f2 = open("d:/py1/afile.txt","w")

# 然后将从myfile.txt读的内容写入到afile.txt
str = f1.read()
f2.write(str)

# 关闭文件
f1.close()
f2.close()

四、文件常用方法

  • read() 从文件中读取全部内容,读取后指针指向文件的末尾

  • write() 向文件中写入内容

  • readline() 执行一次readline,就会从文件中读取一行出来

  • readlines() 执行一次readline,就会将文件中的全部内容读取出来,并保存成一个列表,一行就是一个元素

案例:让用户输入5个用户名,将用户名保存到文件中

f = open("d:/py1/name.txt","w")

for n in range(5):
    name = input("please etner name: ")
    str = name + "\n"
    f.write(str)

f.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值