开始以下操作之前先导入import os 模块
1.获取当前文件所在的文件目录
f = os.path.dirname(__file__)
print(f)
2.连接两个或更多的路径名组件
a = os.path.join(f, 'foo.txt')
print(a)
3.判断是否是绝对路径,返回值—>布尔类型
j = os.path.isabs('cpy.txt')
print(j)
4.通过相对路径得到绝对路径
file = os.path.abspath('../main.py')
print(file)
5.显示当前的工作目录
f1 = os.getcwd()
print(f1)
6.分割文件名
filename = os.path.split(a)
print(filename)
7.分割文件与扩展名
name = os.path.splitext(a)
print(name)
8.返回文件的大小(单位为字节)
file_size = os.path.getsize('WeiLai24.py')
print(file_size)
9.返回指定目录下的所有的文件和文件夹保存在列表中
l = os.listdir('D:\ABC')
print(l)
10.创建文件夹
new_file = os.mkdir('hhh')
print('创建成功!')
11.删除文件夹 —> 只能删除空的文件夹
os.rmdir('xjm')
print('删除成功!')
- os.remove()删除文件—> Remove a file (same as unlink()).
# delete_file = os.remove('path')
# print(delete_file)
11(删除文件夹)和12(删除文件)一般相互配合使用。
删除文件夹分为两种情况:一.空的文件夹 二.有东西的文件夹
一.空的文件夹 :直接用os.rmdir(‘xjm’),其中xjm为:文件夹的名称,操作如下:
result = os.rmdir('xjm')
print(result) # 其中返回值result为None
二.不为空的文件夹:不能直接删除,需要把里面的东西清空(例如:文件)。
例二:删除例1中所创建的文件夹,操作如下:
path = r'D:\ABC\file' # file文件存放的绝对路径
filelist = os.listdir(path) # 获取文件的名称,存放在列表filelist中
for file in filelist:
path1 = os.path.join(path, file)
os.remove(path1)
else:
os.rmdir(path)
13.复制文件
src = r'D:\ABC\p1'
target = r'D:\ABC\img'
def copy(src, target):
# 获取文件夹里面的内容
filelist = os.listdir(src)
# 变量列表
for file in filelist:
# 路径拼接
path = os.path.join(src, file)
# 判断是文件夹还是文件(因为初始文件夹可能含有文件夹)
if os.path.isdir(path):
# 递归调用copy()
target_part = os.path.join(target, file)
os.mkdir(target_part)
copy(path, target_part)
else:
# 打开文件
with open(path, 'rb') as rstream:
# 读取文件里面的内容
container = rstream.read()
# 目标路径拼接
path1 = os.path.join(target, file)
# 写入
with open(path1, 'wb') as wstream:
wstream.write(container)
else:
print('复制完成!!!')
copy(src, target)