python文件目录操作之os模块


Posted in Python onMay 08, 2021

一、os函数目录

  • 1 os.access(path, mode) 检验权限模式
  • 2 os.chdir(path) 改变当前工作目录
  • 3 os.chflags(path, flags) 设置路径的标记为数字标记。
  • 4 os.chmod(path, mode) 更改权限
  • 5 os.chown(path, uid, gid) 更改文件所有者
  • 6 os.chroot(path) 改变当前进程的根目录
  • 7 os.close(fd) 关闭文件描述符 fd
  • 8 os.closerange(fd_low, fd_high) 关闭所有文件描述符
  • 9 os.dup(fd) 复制文件描述符 fd
  • 10 os.dup2(fd, fd2) 将一个文件描述符 fd 复制到另一个 fd2
  • 11 os.fchdir(fd) 通过文件描述符改变当前工作目录
  • 12 os.fchmod(fd, mode) 改变一个文件的访问权限
  • 13 os.fchown(fd, uid, gid) 修改一个文件的所有权。
  • 14 os.fdatasync(fd) 强制将文件写入磁盘。
  • 15 os.fdopen(fd[, mode[, bufsize]]) 通过文件描述符 fd 创建一个文件对象
  • 16 os.fpathconf(fd, name) 返回一个打开的文件的系统配置信息。
  • 17 os.fstat(fd) 返回文件描述符fd的状态,像stat()。
  • 18 os.fstatvfs(fd) 返回包含文件描述符fd的文件的文件系统的信息,像 statvfs()
  • 19 os.fsync(fd) 强制将文件描述符为fd的文件写入硬盘。
  • 20 os.ftruncate(fd, length) 裁剪文件描述符fd对应的文件
  • 21 os.getcwd() 返回当前工作目录
  • 22 os.getcwdu() 返回一个当前工作目录的Unicode对象
  • 23 os.isatty(fd) 如果文件fd是打开的,同时与tty(-like)设备相连,则返回true
  • 24 os.lchflags(path, flags) 设置路径的标记为数字标记,类似 chflags()
  • 25 os.lchmod(path, mode) 修改连接文件权限
  • 26 os.lchown(path, uid, gid) 更改文件所有者,类似 chown,但是不追踪链接。
  • 27 os.link(src, dst) 创建硬链接,名为参数 dst,指向参数 src
  • 28 os.listdir(path) 返回path指定的文件夹包含的文件或文件夹的名字的列表。
  • 29 os.lseek(fd, pos, how) 设置文件描述符 fd当前位置为pos, how方式修改
  • 30 os.lstat(path) 像stat(),但是没有软链接
  • 31 os.major(device)从原始的设备号中提取设备major号码 。
  • 32 os.makedev(major, minor) 以major和minor设备号组成一个原始设备号
  • 33 os.makedirs(path[, mode]) 递归文件夹创建函数。
  • 34 os.minor(device) 从原始的设备号中提取设备minor号码。
  • 35 os.mkdir(path[, mode]) 以数字mode的mode创建一个名为path的文件夹。
  • 36 os.mkfifo(path[, mode]) 创建命名管道,mode 为数字,默认为 0666 (八进制)
  • 37 os.mknod(filename[, mode=0600, device])  创建空文件
  • 38 os.open(file, flags[, mode]) 打开一个文件,并且设置需要的打开选项
  • 39 os.openpty() 打开一个新的伪终端对。返回 pty 和 tty的文件描述符。
  • 40 os.pathconf(path, name)返回相关文件的系统配置信息。
  • 41 os.pipe()创建一个管道. 返回一对文件描述符(r, w) 分别为读和写
  • 42 os.popen(command[, mode[, bufsize]])从一个 command 打开一个管道
  • 43 os.read(fd, n)从文件 fd 中读取最多 n 个字节
  • 44 os.readlink(path)返回软链接所指向的文件
  • 45 os.remove(path)删除路径为path的文件。
  • 46 os.removedirs(path)递归删除目录。
  • 47 os.rename(src, dst)重命名文件或目录,从 src 到 dst
  • 48 os.renames(old, new)递归地对目录进行更名,也可以对文件进行更名。
  • 49 os.rmdir(path)删除path指定的空目录,如果目录非空,则抛出一个OSError异常。
  • 50 os.stat(path) 获取path指定的路径的信息,功能等同于C API中的stat()系统调用。
  • 51 os.stat_float_times([newvalue]) 决定stat_result是否以float对象显示时间戳
  • 52 os.statvfs(path) 获取指定路径的文件系统统计信息
  • 53 os.symlink(src, dst) 创建一个软链接
  • 54 os.tcgetpgrp(fd) 返回与终端fd关联的进程组
  • 55 os.tcsetpgrp(fd, pg) 设置与终端fd关联的进程组为pg。
  • 56 os.tempnam([dir[, prefix]]) 返回唯一的路径名用于创建临时文件。
  • 57 os.tmpfile() 返回一个打开的模式为(w+b)的文件对象 .
  • 58 os.tmpnam() 为创建一个临时文件返回一个唯一的路径
  • 59 os.ttyname(fd)返回一个字符串,它表示与文件描述符fd 关联的终端设备。
  • 60 os.unlink(path)删除文件路径
  • 61 os.utime(path, times)返回指定的path文件的访问和修改的时间。
  • 62 os.walk()输出在文件夹中的文件名通过在树中游走,向上或者向下。
  • 63 os.write(fd, str)写入字符串到文件描述符 fd中. 返回实际写入的字符串长度

二、os.path目录

  • python os.path模块
  • os.path.abspath(path) #返回绝对路径
  • os.path.basename(path) #返回文件名
  • os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。
  • os.path.dirname(path) #返回文件路径
  • os.path.exists(path)  #路径存在则返回True,路径损坏返回False【判断文件夹是否存在】
  • os.path.lexists  #路径存在则返回True,路径损坏也返回True
  • os.path.expanduser(path)  #把path中包含的"~"和"~user"转换成用户目录
  • os.path.expandvars(path)  #根据环境变量的值替换path中包含的”$name”和”${name}”
  • os.path.getatime(path)  #返回最后一次进入此path的时间。
  • os.path.getmtime(path)  #返回在此path下最后一次修改的时间。
  • os.path.getctime(path)  #返回path最近访问的时间
  • os.path.getsize(path)  #返回文件大小,如果文件不存在就返回错误
  • os.path.isabs(path)  #判断是否为绝对路径
  • os.path.isfile(path)  #判断路径是否为文件
  • os.path.isdir(path)  #判断路径是否为目录
  • os.path.islink(path)  #判断路径是否为链接
  • os.path.ismount(path)  #判断路径是否为挂载点()
  • os.path.join(path1[, path2[, ...]])  #把目录和文件名合成一个路径
  • os.path.normcase(path)  #转换path的大小写和斜杠
  • os.path.normpath(path)  #规范path字符串形式
  • os.path.realpath(path)  #返回path的真实路径
  • os.path.relpath(path[, start])  #从start开始计算相对路径
  • os.path.samefile(path1, path2)  #判断目录或文件是否相同
  • os.path.sameopenfile(fp1, fp2)  #判断fp1和fp2是否指向同一文件
  • os.path.samestat(stat1, stat2)  #判断stat tuple stat1和stat2是否指向同一个文件
  • os.path.split(path)  #把路径分割成dirname和basename,返回一个元组
  • os.path.splitdrive(path)   #一般用在windows下,返回驱动器名和路径组成的元组
  • os.path.splitext(path)  #分割路径,返回路径名和文件扩展名的元组
  • os.path.splitunc(path)  #把路径分割为加载点与文件
  • os.path.walk(path, visit, arg)  #遍历path,进入每个目录都调用visit函数,visit函数必须有
  • 3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有
  • 文件名,args则为walk的第三个参数
  • os.path.supports_unicode_filenames  #设置是否支持unicode路径名

三、os.path常用操作

2.1abspath返回绝对路径
import os ,sys
path=os.getcwd()
path2=os.path.abspath('others.py')  #文件不存在也会返回全路径,但不会创建文件
print(path)
print(path2)
 
2.2basename返回文件名
import os ,sys
path2=os.path.basename(r'E:\python\project\Anaconda\temp\others.py')
#用法:从全路径中取文件名称
print(path2)
 
2.3dirname返回路径
import os ,sys
path2=os.path.dirname(r'E:\python\project\Anaconda\temp\others.py')
#只返回全路径中的路径部分
print(path2)
 
2.4exists判断文件是否存在
import os ,sys
path2=os.path.exists(r'E:\python\project\Anaconda\temp\others.py')
print(path2)  #若存在返回true,否则返回false
 
2.5lexists判断文件是否存在
import os ,sys
path2=os.path.lexists(r'E:\python\project\Anaconda\temp\others.py')
print(path2)  #若存在返回true,否则返回false
 
2.6expanduser
os.path.expanduser(path) 
>>>print os.path.basename("D:\\SQAP\\SQAP Training.pdf")
>>>D:\SQAP\SQAP Training.pdf
 
2.7expandvars
os.path.expandvars(path) #根据环境变量的值替换path中包含的"name"和"{name}"
>>>print os.path.basename("D:\\SQAP\\SQAP Training.pdf")
>>>D:\SQAP\SQAP Training.pdf
 
2.8getatime返回最后一次进入此path的时间
import os ,sys
path2=os.path.getatime(r'E:\python\project\Anaconda\temp')  #可以是文件夹,也可是文件
print(path2)   #结果返回:1488813625.5529294
 
2.9getmtime返回文件夹或文件最后修改时间
import os ,sys
path2=os.path.getmtime(r'E:\python\project\Anaconda\temp\others.py')
print(path2)  #结果:1488732500.9374976
 
3.0getctime文件最近访问时间
import os ,sys
path2=os.path.getctime(r'E:\python\project\Anaconda\temp\others.py')
print(path2)  #结果:1480692429.5645697 
 
3.1getsize返回文件大小
import os ,sys
path2=os.path.getsize(r'D:\迅雷下载\三少爷的剑.rmvb')
print(path2)  
#结果:1384146720B
 
3.2isabs判断是否为绝对路径
import os ,sys
path2=os.path.isabs(r'E:\python\project\Anaconda\temp\others.py')
print(path2)  #结果:True
 
3.3isfile判断是否为文件
import os ,sys
path2=os.path.isfile(r'E:\python\project\Anaconda\temp\others.py')
print(path2)  #结果:True
 
3.4isdir判断是否为目录
import os ,sys
path2=os.path.isdir(r'E:\python\project\Anaconda\temp\others.py')
print(path2)  #结果:False
 
3.5join把目录与文件合成全路径
import os ,sys
path2=os.path.join(r'E:\python\project\Anaconda\temp',r'others.py')
print(path2) 
 #结果:E:\python\project\Anaconda\temp\others.py
 
3.6normcase转换path的大小写和斜杠
import os ,sys
path2=os.path.normcase(r'E:/PYTHON/project\Anaconda\TEMP\others.py')
print(path2)  #结果:e:\python\project\anaconda\temp\others.py
 
3.7samefile判断目录或文件是否相同
import os ,sys
path1=r'E:/PYTHON/project\Anaconda\TEMP\others.py'
path2=r'E:\python\project\Anaconda\temp\others.py'
result=os.path.samefile(path1,path2)
print(result)  
#结果:true
 
3.8split路径分割成dirname和basename,返回元组
import os ,sys
path1=r'E:\PYTHON\project\Anaconda\TEMP\others.py'
result=os.path.split(path1)
print(result)  
#结果('E:\\PYTHON\\project\\Anaconda\\TEMP', 'others.py')
 
3.9splitext分割路径,返回路径名和文件扩展名的元组
import os ,sys
path1=r'E:\PYTHON\project\Anaconda\TEMP\others.py'
result=os.path.splitext(path1)
print(result)
#结果返回元组:('E:\\PYTHON\\project\\Anaconda\\TEMP\\others', '.py')
 
4.0os.path.walk遍历文件夹
os.path.walk(r"C:\Users\Administrator\Desktop\4",find_file,())
os.walk()产生目录树下的目录路径和文件路径,
而os.path.walk()只产生文件路径(是子目录与文件的混合列表)。

四、os常用操作

1.读取当前路径
os.path.realpath(__file__)
##py运行的位置
注意与os.getcwd()的区别
os.path.dirname(os.path.abspath(__file__))
 
2.获取文件的时间属性
os.path.getatime(file) 输出文件访问时间
os.path.getctime(file) 输出文件的创建时间
os.path.getmtime(file) 输出文件最近修改时间
 
import time 
import os
time.ctime(os.path.getatime(file))
# linux显示的是最近修改时间
time.ctime(os.path.getmtime(file))
time.ctime(os.path.getctime(file))
 
3.os.listdir()以列表返回文件夹下所有文件和目录
# )以列表返回文件夹下所有文件和目录,但不会返回子目录的文件
import os 
#get file
path='/Users/juvo/Downloads/test'
dirs = os.listdir(path)
file_list=[]
for file in dirs:
    print(1,file)
    if str(file).endswith('.txt'):
        file_list.append(file)

到此这篇关于python文件目录操作之os模块的文章就介绍到这了,更多相关Python os模块内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
python如何将图片转换为字符图片
Aug 19 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
python中partial()基础用法说明
Dec 30 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
python 中pyqt5 树节点点击实现多窗口切换问题
Jul 04 Python
python文件路径操作方法总结
Dec 21 Python
jupyter notebook更换皮肤主题的实现
Jan 07 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 #Python
python实战之用emoji表情生成文字
May 08 #Python
python实现过滤敏感词
Django中的JWT身份验证的实现
May 07 #Python
python开发实时可视化仪表盘的示例
Python使用scapy模块发包收包
如何用 Python 子进程关闭 Excel 自动化中的弹窗
You might like
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
php文件操作相关类实例
2015/06/18 PHP
CI框架常用方法小结
2016/05/17 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
php-app开发接口加密详解
2018/04/18 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
怎么清空javascript数组
2013/05/11 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
pycharm安装及如何导入numpy
2020/04/03 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
大学生护理专业自荐信
2013/10/03 职场文书
关于责任的演讲稿
2014/05/20 职场文书
利用JavaScript写一个简单计算器
2021/11/27 Javascript
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技