栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

os模块和os.path模块

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

os模块和os.path模块

os模块和os.path模块用于对目录或者文件进行操作

os模块与操作系统相关,可以调用系统文件

打开记事本程序

"""直接输入notepad并不能打开,会出现红色乱码,
这可能是因为我的python和记事本不在一个磁盘上
上网查了一下,可能是环境变量path没有添加system32目录"""
import os
os.system("notepad.exe")

"""写了路径之后就能够正常打开"""
import os
os.system("%SystemRoot%/system32/notepad.exe")

打开文件:

"""使用startfile方法
要找到这个文件所在的位置,找到路径"""
os.startfile('C:\Program Files (x86)TencentQQBin\qq.exe')
os模块操作目录的相关函数
函数说明
getcwd()返回当前的工作目录
listdir(path)返回指定路径下的文件和目录信息
mkdir(path,mode)创建目录
makedirs(path1/path2...,mode)创建多级目录
rmdir(path)删除目录
removedirs(path1/path2...)删除多级目录
chdir(path)将path设置为当前目录

 getcwd():返回当前目录,这里的路径用的是相对路径

print(os.getcwd())

"""结果为:
F:pythonvenvlearning"""

新建目录与删除目录,这里删除目录只能删除空目录

"""这里的./代表当前目录的意思,在当前目录新建一个名为try的目录"""
os.mkdir('./try')

"""在当前目录新建了一个多级目录"""
os.makedirs('A/B/C')

"""删除目录try,只能删除空目录"""
os.rmdir('try')

"""删除多级目录
如果在B中新建一个文件,再执行这条命令的话,只会删除C目录,AB目录保留"""
os.removedirs('A/B/C')

os.path模块操作目录相关函数

函数说明
abspath(path)用于获取文件或者目录的绝对路径(文件不存在也不会报错)
exists(path)用于判断文件或目录是否存在,若存在返回true,否则返回false
join(path,name)将目录与目录或者文件名拼接起来
splitext()分离文件名和扩展名
basename(path)从一个目录中提取文件名
dirname(path)从一个路径中提取文件路径,不包括文件名
isdir(path)用于判断是否为目录

exists(path)

"""通过相对路径找到与当前操作文件同在一个目录下的demo目录,
看其中demo.py是否存在,答案是True"""
print(os.path.exists('demo/demo.py'))

"""判断当前目录中是否有如下两个文件,答案分别是True,False"""
print(os.path.exists('learning2.py'))
print(os.path.exists('demo23.py'))

split和splitext()方法

"""split拆分目录与文件"""
print(os.path.split('F:python\venvlearninglearning1.py'))
"""结果为:('F:\python\venv\learning', 'learning1.py')"""

"""splittext拆分文件与后缀名"""
print(os.path.splitext('learning1.py'))
"""结果为:('learning1', '.py')"""

basename(path)方法和dirname(path)方法

"""提取文件名,结果为:learning1.py"""
print(os.path.basename('F:python\venvlearninglearning1.py'))

"""提取目录名,结果为:F:pythonvenvlearning"""
print(os.path.dirname('F:python\venvlearninglearning1.py'))

"""判断是否是目录,结果为:False"""
print(os.path.isdir('F:python\venvlearninglearning1.py'))

如何实现打开指定目录中所有py文件的操作:

import os
path=os.getcwd()
lst=os.listdir(path)
for name in lst:
    if name.endswith('.py'):
        print(name)

使用walk方法进行遍历:

"""这里topdown=True是优先从top目录进行遍历,False则是从子目录优先遍历
返回的是一个三元组(root,dirs,files)
root是地址,dirs是文件夹中的所有目录(不包括子目录)
files是文件夹中所有的文件(不包括子目录)"""
path=os.getcwd()
for root,dirs,files in os.walk(path,topdown=True):
    print('root:',root)
    print('dirs:',dirs)
    print('files:',files)


"""遍历其中的目录,并将路径与目录名连接起来
遍历其中的文件,并将路径与文件名连接起来"""
path=os.getcwd()
for root,dirs,files in os.walk(path,topdown=True):
    for dir in dirs:
        print(os.path.join(root,dir))
    for file in files:
        print(os.path.join(root,file))
  

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938699.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号