200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Python之文件操作_读取_编码_os模块

Python之文件操作_读取_编码_os模块

时间:2023-06-01 06:40:41

相关推荐

Python之文件操作_读取_编码_os模块

目录

前言

一、文件基本操作

1.什么是文件

2.操作文件的步骤

3.文件的路径

4.open函数操作权限总结

5.文件读取

6.with-open-as

7.文件定位读取

8.文件编码

二、OS模块

1.具体操作

三、文件操作案例

案例1:文件的复制粘贴

案例2: 文件重命名

前言

今天来介绍一下关于python的文件操作

一、文件基本操作

1.什么是文件

视频,音频,图片,文本 都是文件。总的来说,文件就是就是存储在持久化硬盘上的一种形式

2.操作文件的步骤

第一步 新建打开一个文件

第二步 编辑文件

第三步 保存退出

open(参数1,参数2)

open函数就是在本地打开一个文件

参数1 选择文件的路径

参数2 打开文件的方式

关闭文件:close()

3.文件的路径

相对路径:以当前操作的文件为起点,去寻找文件

./ 上一级目录

../ 上上一级目录

绝对路径:以计算机盘符为起点

4.open函数操作权限总结

r只读模式打开文件,读文件内容的指针会放在文件开头。

w只写模式打开文件,若文件存在,打开时会清空文件中原有的内容。

a以追加模式打开一个文件,对文件只有写入权限,如果文件已经存在,文件指针将放在文件末尾(新写入内容会位于已有内容之后);反之,则会创建新文件。

rb以二进制格式、采用只读模式打开文件,读文件内容的指针位于文件开头,一般用于非文本文件,如图片、音频文件等。

wb以二进制格式、只写模式打开文件,一般用于非文本文件(如音频文件)

ab以二进制格式打开文件,并采用追加模式,对文件只有写入权限。如果该文件已存在,文件指针位于文件末尾(新写入文件会位于已有的内容之后);反之,则创建新文件。

r+读写权限,打开文件后,既可以从头读取文件,也可以从开头向文件中写入新的内容,写入的新内容会覆盖文件中等长的原有内容。

w+打开文件后,会对原有内容进行清空,并对该文件有读写权限。

a+以读写模式打开文件;如果文件存在,文件指针放在文件末尾(新写入文件会位于已有文件之后);反之,则创建新文件。

rb+以二进制格式、采用读写模式打开文件,读写文件的指针会放在文件开头,通常针对非文本文件(如音频文件)。

wb+以二进制格式、读写模式打开文件,一般用于非文本文件

ab+以二进制模式打开文件,并采用追加模式,对文件具有读写权限,如果文件存在,则文件指针位于文件的末尾(新写入文件会位于已有内容之后);反之则创建新文件。

注意:

操作文件必须存在的模式有:r、rb、r+、rb+。

② 若文件存在,会清空其原有内容(覆盖文件);反之创建新文件的模式有:w、wb、w+、wb+

规律总结:

r:读 w:写 a:追加(写) b:二进制 +:拥有读写权限

# 打开一个文件并赋予写入数据的权限file = open("/Python/python_code/05_文件操作/file/123.py", "a")# 写入数据file.write("第一个文件写入的语句。")# 一次写入一行# file.writelines()# 关闭文件file.close()

5.文件读取

file.read(参数) 用于读取文件

参数:一次性读取文件的大小该方法的返回值为读取到的内容

# 打开一个文件file = open("./01_文件基本操作.py", "r")# 读取文件 按字节读完为止# data = file.read()print(file.read(1024))# 将文件按照行来读取print(file.readlines())# 关闭文件file.close()

6.with-open-as

有时候我们会忘记关闭文件,用with open as不需要手动关闭文件,当该语句结束后,系统会自动为我们关闭文件。

with open("./file/text.txt", "w") as file:file.write("你真棒!")# flush 强制内存进行刷新,将数据写入file.flush()

7.文件定位读取

seek (偏移量,方向)

0 表示从文件头开始处理

1 表示从当前游标位置开始

2 表示从文件末尾开始

游标:tell

with open("file/test.txt", "r") as file:# 读取文件 读取一个字节print(file.read(1))print(file.seek(2, 0))print(file.tell())print(file.read(1))print(file.tell())print(file.read(1))print(file.tell())print(file.read(1))print(file.tell())

8.文件编码

"""文件编码 utf-8 国际编码 兼容全球大多数国家的语言还有:GBK GB2312"""with open("./file/text.txt", "r", encoding="GBK") as file:pass

二、OS模块

1.具体操作

os是python的标准库之一

先导入模块:

# 导入模块import os

显示当前文件路径:

print(os.getcwd())

显示当前目录下的所有文件名称,存储到列表中:

list_dir = os.listdir()for i in list_dir:print(i)

创建文件夹:

os.mkdir("文件夹路径")

删除文件夹:

os.rmdir("文件夹路径")

删除文件:

os.remove("文件夹路径")

重命名文件:

os.rename("旧名称","新名称")

系统层面执行:

os.system("系统命令行的执行 linux")

拼接两个路径:

os.path.join("","qq")

获取文件绝对路径:

os.path.abspath("文件路径")

文件相对路径:

os.path.relpath("文件路径")

获取文件大小:

os.path.getsize("文件路径")

判断该文件夹是否存在:

os.path.exists("文件路径") # 返回值为布尔类型

判断是不是文件,是不是文件夹,是否是绝对路径:

os.path.isfile("文件路径")os.path.isdir("文件路径")os.path.isabs("文件路径")

获取文件创建时间,访问时间,修改时间:

os.path.getctime("文件路径")os.path.getatime("文件路径")os.path.getmtime("文件路径")

三、文件操作案例

案例1:文件的复制粘贴

"""2、使用文件操作完成“对指定文件的复制与粘贴”"""with open("./file/text2.txt", "wb") as file2:with open("./file/text.txt", "rb") as file1:data = file1.read(1024)if len(data) != 0:file2.write(data)print("复制粘贴已完成!")

案例2: 文件重命名

"""3、对指定目录下面的文件进行批量重命名,新名称 = 原名称 + python"""# 导入模块import os# 获取文件路径path = "/Python/python_code/05_文件操作/file"# 获取文件夹中所有的文件名称file_all = os.listdir(path)# 步骤:依次取出每个文件,并重命名for i in file_all:old_path = path+os.sep+i# 每个文件的后缀可能不同,找到文件的后缀下标j = old_path.rfind(".")str1 = old_path[j:] # str1为文件名后缀str2 = i.split(".")# 重命名new_path = path+os.sep+str2[0]+"python"+str1os.rename(old_path, new_path)

修改前file目录下的文件名称:

修改后:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。