#os的运用
import os
#重命名文件
os.rename('Tensorflow_Hands_on,py','Tensorflow_Hands_on.py')
#删除文件
os.remove('D:\Research\Python\Machine_Learning\Test_1.txt')
#创建文件夹(在当前路径)
os.mkdir('求知讲堂python学习')
#删除文件夹——只能删除空目录
os.rmdir('求知讲堂python学习')
#创建文件夹(在其他指定路径)
os.mkdir('D:\Research\Python\求知讲堂python\sub核心') #mkdir只能创建一级目录,如果一级目录(在这里是求知讲堂python)不存在,那根本不能简历二级目录sub核心,就会报错
os.mkdirs('D:\Research\Python\求知讲堂python\sub核心') #创建多级目录在mkdir后面加s即可
#删除文件夹——删除非空目录
import shutil
shutil.rmtree('D:\Research\Python\求知讲堂python\sub核心')
#打印获取当前目录
print(os.getcwd())
#路径的拼接
print(os.path) #打印的是os模块所在的路径 'C:\\Anaconda3\\envs\\Machine_Learning\\lib\\ntpath.py'>
print(os.path.join(os.getcwd(),'venv') )#把多个路径拼接起来,然后返回
#打印数据列表
'''
旧版方式:
listRs = os.listdir('d:/') #指定目录中的目录文件和子目录的名称
print(listRs)
for dirname in listRs:
print(dirname)
'''
#现代版写法
rs = os.scandir('d:/') #scandir是一个迭代器,<nt.ScandirIterator object at 0x000001C8935B4D80>,需要for循环遍历
#scandir和with一起使用,这样的话,上下文管理器会在迭代器遍历完成后,自动的释放资源
#with os.scandir('d:/') as entries: #with是一个上下文管理的协议,把资源遍历完后会自动释放所需要的资源
for entry in entries:
print(entry.name)
#isfile 来判断是不是目录或者文件
base_path = 'd:/'
for entry in os.listdir(base_path):
if os.path.isfile(os.path.join(base_path,entry)): #遍历文件夹下面所有的文件,D盘里所有的文件,不包括文件夹
print(entry)
if os.path(os.path.join(base_path),entry): #遍历文件夹的所有文件夹
print(entry)
OS模块的运用
最新推荐文章于 2024-09-09 23:28:21 发布