python 您所在的位置:网站首页 mysql获取文件目录结构信息 python

python

2023-07-29 07:51| 来源: 网络整理| 查看: 265

在实际项目中,我们经常需要获取文件信息,对文件/目录进行操作等,而os模块则提供相关的功能,记录一下常用的方法

使用环境 python版本:python3.7 操作系统:windows10 一、os:系统操作 方法说明WindowsLinux/Unixos.getcwd()返回当前文件的工作目录os.name()返回所在工作平台对应的类型值ntposixos.sep()返回对应系统路径的分隔符\/os.getenv(name)返回指定环境变量的变量值os.get_terminal_size()返回控制台的长宽

实例:

#!/usr/bin/python # -*- coding: utf-8 -*- import os print(os.getcwd()) print(os.name) print(os.sep) print(os.getenv("CLASSPATH"))

输出结果: 在这里插入图片描述

二、os.path:操作路径相关

返回路径类

方法说明os.path.abspath(path)返回绝对路径(包含文件名)os.path.basename(path)返回目录/文件的名字os.path.dirname(path)返回目录/文件的路径os.path.realpath(path)返回path的真实路径os.path.commonprefix(list)返回list(多个路径)中,所有path共有的最长的路径(部分场景不合适)os.path.relpath(path[, start])从start开始计算相对路径

实例:

#!/usr/bin/python # -*- coding: utf-8 -*- import os print('__file__的输出结果:' + __file__) # python内置函数,当前文件的路径 print(r'os.path.abspath(' + __file__ + ') -> ' + os.path.abspath(__file__)) print(r'os.path.basename(' + __file__ + ') -> ' + os.path.basename(__file__)) print(r'os.path.dirname(' + __file__ + ') -> ' + os.path.dirname(__file__)) print(os.path.commonprefix([r'E:\PyProject\Test_Pratice', r'E:\PyProject', r'E:\PyProject\Hardware_Devices_Interface', r'E:\PyProject\Auto_QRCode'])) print(os.path.commonprefix([r'E:\Py测试Project\Test_Pratice', r'E:\PyProject', r'E:\PyProject\Hardware_Devices_Interface', r'E:\PyProject\Auto_QRCode'])) print(os.path.relpath(__file__, start='test_os'))

输出结果 在这里插入图片描述

合成路径/切割路径类

方法说明os.path.join(path1[, path2[, …]])目录和文件名合成一个路径os.path.split(path)分割路径为 dirname 和 basename,返回一个元组os.path.splitdrive(path)分割路径为 驱动器名 和 路径,返回一个元组os.path.splitext(path)分割路径为 路径名 和 文件扩展名,返回一个元组

实例

#!/usr/bin/python # -*- coding: utf-8 -*- import os print('__file__的输出结果:' + __file__) # python内置函数,当前文件的路径 print(os.path.join(r'E:\PyProject\Test_Pratice', 'dir1', 'dir2', 'file.txt')) print(os.path.split(__file__)) print(os.path.splitdrive(__file__)) print(os.path.splitext(__file__))

输出结果 在这里插入图片描述

返回文件时间/文件大小类

方法说明os.path.getatime(path)返回文件/目录最近访问时间os.path.getmtime(path)返回最近文件/目录修改时间os.path.getctime(path)返回文件/目录创建时间os.path.getsize(path)返回文件/目录大小(字节),如果文件/目录不存在就返回错误

实例

#!/usr/bin/python # -*- coding: utf-8 -*- import os import time print(os.path.getatime(__file__)) print(os.path.getmtime(__file__)) print(os.path.getctime(__file__)) print(os.path.getsize(__file__)) # 将时间戳转换下格式 print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(os.path.getctime(__file__))))

输出结果 在这里插入图片描述

判断路径类

方法说明是否os.path.isabs(path)判断是否为绝对路径TrueFalseos.path.isfile(path)判断路径是否为文件TrueFalseos.path.isdir(path)判断路径是否为目录TrueFalseos.path.islink(path)判断路径是否为符号链接(低于Windows6.0的始终返回false。)TrueFalseos.path.ismount(path)判断路径是否为挂载点TrueFalseos.path.exists(path)判断路径是否存在TrueFalseos.path.lexists(path)判断路径是否存在,若路径损坏也返回TrueTrueFalseos.path.samefile(path1, path2)判断目录或文件是否相同,若目录/文件不存在返回错误TrueFalseos.path.sameopenfile(fp1, fp2)判断fp1和fp2是否指向同一文件,若目录/文件不存在返回错误TrueFalseos.path.samestat(stat1, stat2)判断stat tuple stat1和stat2是否指向同一个文件TrueFalse

实例

#!/usr/bin/python # -*- coding: utf-8 -*- import os print('__file__的输出结果:' + __file__) # python内置函数,当前文件的路径 print(os.path.isabs(__file__)) print(os.path.isabs('../test_os.py')) # 相对路径 print(os.path.isfile(__file__)) print(os.path.isfile('E:/PyProject/Test_Pratice/')) print(os.path.isdir(__file__)) print(os.path.isdir('E:/PyProject/Test_Pratice/')) print(os.path.islink(__file__)) print(os.path.islink(r"E:\链接文件.txt")) print(os.path.ismount('E:/PyProject/Test_Pratice/'))

输出结果 在这里插入图片描述

规范路径类

方法说明os.path.normcase(path)规范化路径名的大小写。使所有字符小写,并将所有斜杠改为反斜杠。os.path.normpath(path)规范化路径,消除双斜杠等。

实例

#!/usr/bin/python # -*- coding: utf-8 -*- import os print('__file__的输出结果:' + __file__) # python内置函数,当前文件的路径 print(os.path.normcase(__file__)) print(os.path.normpath('E:///PyProjectTest_Pratice'))

输出结果 在这里插入图片描述

转换路径类

方法说明os.path.expanduser(path)把path中包含的"~"和"user"转换成用户目录os.path.expandvars(path)根据环境变量的值替换path中包含的"$name"和"${name}"

实例

#!/usr/bin/python # -*- coding: utf-8 -*- import os print('__file__的输出结果:' + __file__) # python内置函数,当前文件的路径 print(os.path.expanduser(r'~\Documents')) print(os.path.expandvars(r'%ProgramFiles%\WindowsPowerShell\Modules')) print(os.path.expandvars(r'.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar'))

输出结果 在这里插入图片描述

三、os-操作目录

目录增删改查

方法说明os.listdir(path)返回path指定的文件夹包含的文件或文件夹的名字的列表。os.mkdir(path)创建一个目录os.rmdir(path)删除空目录,若目录有文件,返回错误os.makedirs(path)创建多个目录os.removedirs(path)删除多个空目录,若目录有文件,返回错误os.chdir(path)将当前文件的工作目录更改为指定的路径os.rename(src, dst)重命名文件或目录,执行的时候先把文件/目录关掉os.renames(old, new)递归地对目录或文件进行更名

实例

#!/usr/bin/python # -*- coding: utf-8 -*- import os # 创建一个目录 os.mkdir('E:/PyProject/Test_Pratice/makedir/') # 删除空目录 os.rmdir('E:/PyProject/Test_Pratice/makedir') # 创建多个目录 os.makedirs('E:/PyProject/Test_Pratice/make_dir1/make_dir2/make_dir3') # 重命名单个目录 os.rename(src='E:/PyProject/Test_Pratice/make_dir1/', dst='E:/PyProject/Test_Pratice/make_dir1_rename/') # 重命名多个目录 os.renames(old='E:/PyProject/Test_Pratice/make_dir1_rename/make_dir2', new='E:/PyProject/Test_Pratice/make_dir1/make_dir2_rename') # 改变当前文件的工作目录到指定路径 os.chdir('E:/PyProject/Test_Pratice/make_dir1/make_dir2_rename/make_dir3') print(os.getcwd()) # 打印变更后的工作路径 # 删除多个目录 os.removedirs('E:/PyProject/Test_Pratice/make_dir1/make_dir2_rename/make_dir3') # 返回指定文件夹的文件/目录列表 print(os.listdir('E:/PyProject/Test_Pratice/')) #

输出结果 在这里插入图片描述

本章先记录到这里,后续有用到其他的功能再补充。 若有不对的地方,希望大家指正出来!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有