绝对路径和相对路径
一般情况下绝对路径就是从根目录开始描述的路径
相对路径就是相对于当前目录
.
没错,就是一个点,表示的是当前文件夹;..
两个点表示的是上一层文件夹
os模块与os.path
os
和 os.path
是两个非常重要的标准库模块,它们分别用于操作系统相关的功能操作和文件路径处理。
import os
os
模块提供了许多底层的系统接口,例如:
- 创建、删除和重命名文件和目录:如
os.mkdir()
,os.rmdir()
,os.rename(),os.remove()
等。 - 改变工作目录:
os.getcwd()
获取当前工作目录,os.chdir()
更改它。 - 进程管理:包括启动子进程(
os.system()
)、等待进程结束(os.waitpid()
)等。 - 权限和错误处理:如
os.chmod()
修改文件权限,os.error
处理运行时的文件系统错误。
os.path
模块则专注于文件和目录路径的操作,提供了一些有用的函数帮助处理路径:
- 文件和目录路径的拆分和组合:如
os.path.split()
,os.path.join()
, 分离文件名和路径,或拼接路径组件。 - 检查路径是否存在:
os.path.exists()
,os.path.isfile()
,os.path.isdir(),os.path.
isabs(path)等判断路径是否为文件、目录或真实存在,是否绝对路径。 - 获取路径信息:如获取路径的长度、扩展名、基础名称等。
- 规范化路径:
os.path.abspath()
,os.path.normpath()
保证路径的一致性和标准化。
获取文件大小
import os
print(os.path.getsiez("demo.py"))
# 获取的是字节大小
获取指定目录下的所有内容
import os
print(os.listdir("."))
python读取文件
# 文件地址,注意提前在当前目录新建一个 test.txt 文件
file = "test.txt"
# 打开文件
f = open(file, encoding="utf-8")
# 读取文件全部内容
read_str = f.read()
# 关闭文件
f.close()
print(read_str)
#逐行读取方法 redlines
# 文件名
file = "test.txt"
# 打开文件
f = open(file, encoding="utf-8")
# 逐行读取
data = f.readlines()
# 关闭文件
f.close()
print(data)
# ['梦想橡皮擦\n', '是一个大佬\n', '真的是一个大佬\n', '我自己都信了']
#写入文件
# 文件地址,注意提前在当前目录新建一个 test.txt 文件
file = "test.txt"
# 打开文件
with open(file, mode="w", encoding="utf-8") as f:
# 写入文件内容
f.write("我是即将被写入的内容")
#写入多行数据
file = "test.txt"
# 打开文件
with open(file, mode="w", encoding="utf-8") as f:
# 写入文件内容
f.write("我是即将被写入的内容\n")
f.write("我是即将被写入的内容")
#使用with-as 以防止忘记打开文件之后进行关闭
file = "test.txt"
# 打开文件
with open(file,encoding="utf-8") as f:
# 读取文件全部内容
read_str = f.read()
print(read_str)
文件复制
import shutil
shutil.copy("test.txt","aaa.txt")
shutil.copy("test.txt","../aaa.txt") # 不同目录拷贝
目录复制
# copytree 方法语法格式与 copy 一致,只不过该方法是用来复制目录的,如果目录下面有子目录或文件一起复制。
import shutil
# 第一个参数是旧目录,第二个参数是新目录
shutil.copytree("../1","a4")
多用的move方法
shutil.move(旧文件,新文件)
删除有数据的目录
使用 rmtree 可以删除有数据的目录,相当于直接清空该目录下的所有目录和文件,再顺便把该目录也删除了。具体内容自行测试即可。
zipFile 模块
通过该模块可以直接对文件进行压缩与解压操作