Python学习_OS模块
# OS模块函数介绍
# os.path
相关函数 (opens new window)
# os.path.dirname(__file__)
获取当前文件所在文件夹的绝对路径
import os
path = os.path.dirname(__file__)
print(path)
>> E:/Desktop/python/pythonpractice
# os.path.absname()
获取相对路径对应的绝对路径
import os
path = os.path.abspath('Tet.py')
print(path)
>> E:\Desktop\python\pythonpractice\Tet.py
- 可以传入
__file__
获取当前文件的绝对路径
# os.path.split(path)
将某个文件的绝对路径进行切割,分为文件夹路径和文件名
import os
path = os.path.abspath(__file__)
result = os.path.split(path)
print(result)
>> ('E:\\Desktop\\python\\pythonpractice', 'OSTest.py')
# os.path.splitext(path)
将某个文件的绝对路径进行切割,分离出扩展名
import os
path = os.path.abspath(__file__)
result = os.path.splitext(path)
print(result)
>> ('E:\\Desktop\\python\\pythonpractice\\OSTest', '.py')
# os.path.getsize(path)
获取文件的大小,单位是字节
import os
path = os.path.abspath(__file__)
result = os.path.getsize(path)
print(result)
>> 90
# os.path.join(filename,...)
以文件路径的形式拼接
import os
path = os.path.dirname(__file__)
print(path)
path_new = os.path.join(path, 'boy.jpg')
print(path_new)
>> E:/Desktop/python/pythonpractice
>> E:/Desktop/python/pythonpractice\boy.jpg
# os.path.exists(path)
判断是否存在
# os.path.isdir()
判断路径是否为目录
# os.path.isfile()
判断路径是否为文件
# os.path.isabs()
判断是否为绝对路径
# os
中的函数
# os.getcwd()
获取当前文件所在文件夹的绝对路径,功能同
dirname()
。
# os.listdir(path)
返回指定目录下所有的文件夹及文件的名称
import os
path = os.path.dirname(__file__)
all = os.listdir(path)
print(all)
>> ['OCR', 'practice.py'] #名为OCR的文件夹和practice.py的文件
# os.mkdir(path)
创建文件夹
# os.remove()
删除文件
# os.rmdir()
删除文件夹,只能删除空的文件夹
- 删除文件夹(含文件)的一个举例:
import os
path = r'C:\dir1\dir2'
filelist = os.listdir(path)
for file in filelist:
path1 = os.path.join(path,file)
os.remove(path1)
else:
os.rmdir(path)
print('删除成功!')
# os.removedirs()
删除多级目录,注意!必须为空文件夹
import os
print("目录为: %s" % os.listdir(os.getcwd()))
os.removedirs("test/test1")
print("移除后目录为: %s" % os.listdir(os.getcwd()))
>> 目录为: ['OCR', 'practice.py', 'test']
移除后目录为: ['OCR', 'practice.py'] :
# os.chdir(path)
用于改变当前工作目录到指定的路径。
# 文件夹的复制练习
import os
src_path = r'C:\p1'
target_path = r'C:\p2'
def copy(src, target):
if os.path.isdir(src) and os.path.isdir(target):
filelist = os.listdir(src)
for file in filelist:
path = os.path.join(src,file)
if os.path.isdir(path):
target1 = os.path.join(target,file)
os.mkdir(target1)
copy(path, target1)
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_path, target_path)
编辑 (opens new window)
上次更新: 2023/08/09, 13:21:24