本文主要讲解python os模块目录和文件相关函数并给出实例,如何通过python脚本获取特定目录下的指定类型文件
脚本如下:
import os
import glob
# 获取当前工作目录,返回数据类型:字符串str,返回值为当前工作目录
print(os.getcwd())
# 运行结果
"""
D:\cloudcmd_admin\深入python
"""
# 切换目录,r,单词raw,表示源样输出,不需要转义
os.chdir(r"D:\cloudcmd_admin\common")
print(os.getcwd())
# 运行结果
"""
D:\cloudcmd_admin\common
"""
# os.path.split() 切分给定的目录或者文件,返回值为元祖,若给定目录,则返回值为上级目录和当前目录名称;
# 若给定文件,返回值为上级目录和当前文件名称
print(os.path.split(r"D:\cloudcmd_admin\common\BaseBrowser.py"))
print(os.path.split(r"D:\cloudcmd_admin\common"))
# 运行结果
"""
('D:\\cloudcmd_admin\\common', 'BaseBrowser.py')
('D:\\cloudcmd_admin', 'common')
"""
# 切分给定的文件路径,返回数据类型为元祖,值为文件路径和文件后缀
print(os.path.splitext(r"D:\cloudcmd_admin\common\BaseBrowser.py"))
# 运行结果
"""
('D:\\cloudcmd_admin\\common\\BaseBrowser', '.py')
"""
# 切分给定的文件路径,返回数据类型为元祖,值为系统盘符和文件路径
print(os.path.splitdrive(r"D:\cloudcmd_admin\common\BaseBrowser.py"))
# 运行结果
"""
('D:', '\\cloudcmd_admin\\common\\BaseBrowser.py')
"""
# 实用举例,打印目录 D:\cloudcmd_admin\packages\yaml文件 下的.py文件
"""
思路:
1,切换工作目录到 D:\cloudcmd_admin\packages\yaml文件
2,使用glob.glob列出该目录下的所有文件和目录
3,使用os.path.splitext 获取后缀
4,判断后缀是否等于.py,相等则打印
"""
def get_suffix(file, suffix=".py"):
"""
获取文件后缀,默认获取.py文件
@param file: 文件目录
@param suffix: 文件后缀
@return: 指定后缀的文件列表
"""
files = []
for file in glob.glob(os.path.join(file, "*")):
if os.path.splitext(file)[-1] == suffix:
files.append(file)
return files
if __name__ == '__main__':
print(get_suffix(r"D:\cloudcmd_admin\packages\yaml文件"))
,