python学习[第十五篇] 文件系统
python学习[第十五篇] 文件系统
对文件系统访问大多数都通过os模块实现。
os 模块文件/目录访问函数
文件处理
mkfifo() 创建命名通道只用于linux
remove(path)/unlink(path)删除文件
rename()/renames() 重命名文件
stat() 返回文件信息
symlink() 创建连接,只用于linux
utime() 更新文件时间戳
walk() 生成一个目录下的所有文件
#remove >>> os.remove("D:/cmdargs.py")#rename >>> os.renames('D:/ryan/ryan.txt','D:/ryan2/ryan2.txt') #stat >>> os.stat('D:/ryan.txt') nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid =0, st_size=152L, st_atime=1532525071L, st_mtime=1532525088L, st_ctime=153252507 1L) #utime >>> os.utime('D:/ryan2/ryan2.txt',None)#walk >>> x=os.walk('D:/ryan2') >>> for y in x: ... print y ... ('D:/ryan2', [], ['ryan2.txt'])#tmpfile >>> f=os.tmpfile() Traceback (most recent call last):File "<stdin>", line 1, in <module> OSError: [Errno 13] Permission denied
目录/文件夹
getcwd() /getcwdu() 返回当前工作目录/返回当前目录,以unicode字符串的形式
listdir() 列出指定目录的文件
mkdir()/makedirs() 创建目录/创建多层目录
rmdir() /removedirs() 删除目录/删除多层目录
chdir() 改变当前目录
chroot()改变当前进程的根目录 linux /unix
>>> os.getcwd() 'D:\\ryan2' >>> os.getcwdu() u'D:\\ryan2'>>> os.chdir('d:/ryan') #chdir 目录不存在的话,会报WindowsError >>> os.chdir('d:/ryan3') Traceback (most recent call last):File "<stdin>", line 1, in <module> WindowsError: [Error 2] : 'd:/ryan3'>>> os.listdir('c:/') ['$Recycle.Bin', 'AMD', 'BaiduNetdiskDownload', 'bef7a4d9c1ea713f1cedd1669f7c7a08', 'comments.txt', 'cookie.txt', 'Documents and Settings', 'DRIVERS', 'DRMsoft' , 'hiberfil.sys', 'Intel', 'jdk', 'MyDrivers', 'pagefile.sys', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Python27', 'Python37', 'QMDownload', 'qqpcmgr_docpro', 'Recovery', 'sqlite', 'Sun', 'System Volume Informatio n', 'test.py', 'Users', 'vs2013', 'Windows', '\xd0\xc2\xbd\xa8\xce\xc4\xbc\xfe\xbc\xd0', '\xd1\xb8\xc0\xd7\xcf\xc2\xd4\xd8']>>> os.makedirs('D:/ryan2/ryan2/ryan2') >>> os.mkdir('ryan2')>>> os.rmdir('ryan2') >>> os.removedirs('D:/ryan/ryan2')
访问权限
access() 检验权限模式
chmod() 改变权限模式
chown() 修改owner和goroupID
文件描述符专用
open()
read()/write()
dup/dup2()
os.path 模块中路径名访问函数
分隔
basename(path)去掉目录路径返回文件名
dirname(path) 去掉文件名,返回目录路径
join(path,path2) 将分离的各部分组成一个路径名
split(path) 返(dirname,basename) 元组
splitdirve(path) 返回 (drivename,pathname)元组
splittext(path) 返回(filename,extension)元组
>>> os.path.basename('c:/ryan2/test.py') 'test.py'>>> os.path.dirname('c:/ryan2/test.py') 'c:/ryan2' >>> os.path.split('c:/ryan2/test.py') ('c:/ryan2', 'test.py')>>> os.path.splitext('c:/ryan2/test.py') ('c:/ryan2/test', '.py')>>> os.path.splitdrive('c:/ryan2/test.py') ('c:', '/ryan2/test.py')>>> os.path.join('c:/foo/','test.txt') 'c:/foo/test.txt'
信息
getatime(path) 返回最近访问时间
getctime(path) 返回文件创建时间
getmtime(path)返回文件修改时间
getsize(path) 返回文件大小
>>> os.path.getatime('ryan.txt') 1532525145.1479454 >>> os.path.getctime('ryan.txt') 1532525145.1479454 >>> os.path.getmtime('ryan.txt') 1532525088.2246895 >>> os.path.getsize('ryan.txt') 152L
查询
exists(path) 判断文件或目录是否存在
isabs(path) 判断是否是绝对路径
isdir(path) 判断是否是目录
isfile(path) 判读是否是文件
islink(path) 判断是否是连接
ismount(path) 判断是否是挂载点
samefile(path1,path2) 是否是同样的文件 unix
>>> os.path.exists('ryan.txt') True >>> os.path.exists('test') True>>> os.path.isabs('test') False>>> os.path.isdir('test') True >>> os.path.isdir('test1') False>>> os.path.isfile('test') False >>> os.path.isfile('ryan.txt') True>>> os.path.islink('ryan.txt') False >>> os.path.ismount('c:') False>>> os.path.samefile('ryan.txt','ryan2.txt') Traceback (most recent call last):File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'samefile'
###end
转载于:https://www.cnblogs.com/ryanpan/p/9363602.html
python学习[第十五篇] 文件系统相关推荐
- python连载第十五篇~史上最全列表知识源码+答案
#2017-12-19 19:34:41 December Tuesday the 51 week, the 353 day #python连载第十五篇~list列表#列表定义,访问,索引,操作,切片 ...
- python学习[第十四篇] 文件的输入与输出
python学习[第十四篇] 文件的输入与输出 标准文件类型 一般来说只要程序一执行,就会访问3个文件: 标准输入(键盘) stdin 标准输出(显示器缓冲区) stdout 默认输出到屏幕 标准错误 ...
- Python学习第十六篇——异常处理
在实际中,很多时候时候,我们并不能保证我们所写的程序是完美的.比如我们程序的本意是:用户在输入框内输入数字,并进行后续数学运算,即使我们提醒了用户需要输入数字而不是文本,但是有时会无意或者恶意输入字符 ...
- python学习第十五天
1.面向对象和面向过程 面向过程: 以我为中心. 按照事物的发展"流程". 面向对象: 以对象为中心. 万事万物皆为对象(object) 2.如何编写面向对象程序(重点) 先创建类 ...
- python学习笔记(十五) -- 枚举
枚举 枚举的作用就是定义一组 数据形式为 dict 但却又不可变的常量 比如我们定义一个类,或者定义一个dict ,类中的成员变量可以被更改,而且类又可以被实例化,dict 里面的值也可以被更改. 如 ...
- python学习笔记十五:日期时间处理笔记
#-*- coding: utf-8 -*- import datetime#给定日期向后N天的日期 def dateadd_day(days):d1 = datetime.datetime.now( ...
- 【Python学习系列十五】pandas库DataFrame行列操作使用方法
参考:http://pandas.pydata.org/pandas-docs/stable/api.html#dataframe data['w'] #选择表格中的'w'列,使用类字典属性,返回的是 ...
- Python学习日记(十五) collections模块
在内置函数(dict.list.set.tuple)的基础上,collections模块还提供了几个其他的数据类型:Counter.deque.defaultdict.namedtuple和Order ...
- JavaScript 设计模式学习第二十五篇-中介者模式
中介者模式(Mediator Pattern)又称调停模式,使得各对象不用显式地相互引用,将对象与对象之间紧密的耦合关系变得松散,从而可以独立地改变他们.核心是多个对象之间复杂交互的封装. 根据最少知 ...
最新文章
- Gogs-Windows Server下搭建Git服务器
- 对字符串数组排序,使所有变位词都相邻(C++)
- 北斗导航 | 微惯导定位系统关键技术与应用
- HDU 5389 Zero Escape
- IPv6 RIPng (PT)
- 高精度加法(A+BProblemII)
- 探究操作系统的内存分配(malloc)对齐策略
- Android DownloadManager 的使用
- PC-hosts 的使用 [可使电脑无法正常上网]
- HTML 区块、内联元素
- vue修改编码_看,官方出品了 Vue 编码风格指南!
- Luogu2602[ZJOI2010] 数字计数
- 图片求导锐化 与模糊检测
- java生存pdf资料
- VTK:图像平滑——中值滤波器
- 软件设计师考试考点分析总结
- 遇到电脑中病毒了怎么办
- SQLSERVER2012备份日志报错:”读取失败: 23(数据错误(循环冗余检查)。)”
- fpga 速度等级(speed grade)
- the info.plist in the package must contain the CFBundleShortVersionString key.
热门文章
- MSXML2.ServerXMLHTTP HTTPS 证书过期 — msxml3.dll '80072f05'
- 设置harbor开机自启动
- 一品资源网自用官网模板源码下载站(带手机模板)
- matlab word报告,MATLAB 实验报告
- 神舟服务器安装系统,神舟UT47笔记本一键u盘装系统win10教程
- JsonView--离线查看JSON格式化工具
- Mysql5.7.x下载安装及64位操作系统问题
- android ble配对绑定,Android蓝牙(一)搜索配对和绑定
- 2022年4月线上终端药品增长迅猛,市场政策合规进程加快
- element-ui日期时间选择框picker-options如何禁用时间范围