python的文件操作知识点

文件操作

文件操作包含:打开、关闭、读、写、复制..

目的:读取内容、写入内容、备份内容

文件操作就是把一些内容(数据)存储起来,让程序下一次执行的时候直接使用,不用重新制作一份,省时省力

操作步骤

open()方法

open()可以打开一个已经存在的文件,或创建一个新文件

open(name,mode)

name:打开的目标文件名的字符串(可以包含文件所在的具体路径)

mode:设置打开文件的模式,只读、写入、追加

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

模式 描述
t 文本模式 (默认)。
x 写模式,新建一个文件,如果该文件已存在则会报错。
b 二进制模式。
+ 打开一个文件进行更新(可读可写)。
U 通用换行模式(不推荐)。
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

File对象的属性

一个文件被打开后,你有一个file对象,可以获取file对象相关的所有属性信息:

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

write()方法

write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

write()方法不会在字符串的结尾添加换行符('\n'):

read()方法

read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

readlines():可以按照行的方式把整个文件中的内容进行一次性的读取,并且返回的是一个列表,其中每一行的数据为一个元素

readline()一次读取一行内容,多次执行readline()是依次读取一行

close()方法

File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。用 close()方法关闭文件是一个很好的习惯。

文件定位

tell()方法告诉你文件内的当前位置, 换句话说,下一次的读写会发生在文件开头这么多字节之后。

seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。

#先写入一个文件foo.txt,写入内容并进行关闭
fo=open("foo.txt","w")
fo.write("Hello Girl and Boy")
fo.close()
#再打开刚刚的文件
fo = open("foo.txt", "r+")
str = fo.read(10)
print("读取的字符串是 : ", str)

# 查找当前位置
position = fo.tell()
print("当前文件位置 : ", position)

# 把指针再次重新定位到文件开头
position = fo.seek(0, 0)
str = fo.read(10)
print("重新读取字符串 : ", str)
# 关闭打开的文件
fo.close()

文件备份

文件备份一般是对另外一个文件进行复制

需求:

1、接收用户输入的文件名

2、规划备份的文件名

3、备份文件写入数据

代码实现:

#1、接收用户输入的目标文件
old_name=input("请输入你要备份的文件名:")
# 2、规划备份的文件名
#2.1提取文件后缀的下标
new_name=old_name.split('.')
#2.2进行新文件名的定义
new_name=new_name[0]+'备份'+'.'+new_name[1]
# 3、备份文件写入数据(数据与原文件一致)
#3.1打开文件并进行读取
old_file=open(old_name,'rb')
new_file=open(new_name,'wb')
#3.2将原文件写入新文件
while True:
    cin =old_file.read()
    if len(cin)==0:
        break
    new_file.write(cin)
old_file.close()
new_file.close()
print("备份已完成")

文件和文件夹得操作:

python中文件和文件夹的操作要借助os模块里面的相关功能,具体步骤如下:

文件重命名:os.rename(目标文件名,新文件名)

删除文件:os.remove(目标文件名)

创建文件夹:os.mkdir(文件夹名称)

删除文件夹:os.rmdir(文件夹名称)

获取当前目录:os.getcwd()

改变默认目录:os.chdir(目录)

获取目录列表:os.listdir(目录)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容