模块

模块是包含所有你定义的变量和函数的文件,其后缀为.py,模块可以被别的程序引入,以使用该模块中的函数等功能。不同的操作系统,操作系统底层对文件系统的访问原理是不一样的。因为可能针对不同的系统考虑使用哪些系统文件模块,会很麻烦。有了os模块,会帮我们选择正确的模块并调用之。

os模块中关于文件/目录常用的函数使用方法

函数名使用方法
getcwd()返回当前工作目录
chdir(path)改变工作目录
listdir(path=’.’)列举指定目录中的文件名(’.’表示当前目录,’..’表示上一级的目录)
mkdir(path)创建单层目录,如该目录已存在则抛出异常
makedirs(path)递归创建多层目录,如该目录已存在抛出异常
remove(path)删除文件
rmdir(path)删除单层目录,如果该目录非空抛出异常
removedirs(path)递归删除目录,从子目录到父目录逐层删除目录,如果遇到非空目录则抛出异常
rename(old,new)将文件old重命名为new
system(command)运行系统的shell命令
以下是支持路径操作中常遇到的一些定义,支持所以平台
os.curdir指代当前目录(‘.’)
os.pardir指代上一级目录(‘..’)
os.sep输出当前操作系统的特定路径分割符,Windows系统是’\’,linux系统是’/’
os.linesep当前平台使用的行终止符,win下是’\r\n’,linux下为’\n’
os.name指代当前使用的操作系统,有’nt’,’max’等

获得当前目录

>>> import os
>>> os.getcwd()
'E:\\Python35'

改变工作目录

>>> os.chdir('G:\\')
>>> os.getcwd()
'G:\\'

列举当前目录的文件名

>>> os.listdir('.')
['$RECYCLE.BIN', 'baiduyundownloading', 'cloudmusic', 'googledownloading', 'iedownloading', 'installationpackage', 'pythoncode', 'System Volume Information', 'test.txt', 'train.txt', 'webchartcode', 'webchatfilemanager', '迅雷downloading']

创建单层目录

>>> os.mkdir('G:\\B')

创建多成目录

>> os.makedirs('G:\\A\\B')

删除单层目录
当在G盘存在C文件夹,C文件夹里面有A文件夹,文件夹
A里面没有任何目录或文件,调用此函数会删除A文件夹

>>> os.rmdir('G:\\C\\A')

删除多层目录,删除文件
当在G盘存在A文件夹,A文件夹里面有B文件夹,文件夹
A里面没有任何目录或文件,调用此函数会递归地删除B文件夹,A文件夹。如果B文件夹还存在test.txt文件,需要先删除文件才能删除目录。

>>> os.remove('G:\\A\\B\\test.txt')
>>> os.removedirs("G:\\A\\B")
>>> os.system('cmd')#打开cmd命令行
>>> os.system('calc')#打开计算机

当前目录符号,上级目录符号,不同的平台符号不一样

>>> os.curdir
'.'
>>> os.pardir
'..'
>>> os.listdir(os.curdir)#比较规范的书写获取当前目录下的文件名,相当于os.listdir('.')
>>> os.sep
'\\'
>>> os.linesep
'\r\n'
>>> os.name
'nt'
>>> 

os.path模块关于路径常用的函数使用方法

函数名使用方法
basename(path)去掉目录路径,单独返回文件名
dirname(path)去掉文件名,单独返回目录路径
join(path1[,path2][,…])将path1,path2各部分组合成一个路径名
split(path)分割文件名与路径,返回(f_path,f_name)元组。如果完全使用目录。它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在
splittext(path)分离文件名与扩展名,返回(f_name,f_extension)元组
getsize(file)返回指定文件的尺寸,单位是字节
getatime(file)返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
getctime(file)返回指定文件的创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
getmtime(file)返回指定文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
>>> import os
>>> os.path.basename("E:\\A\\B\\C\\aa.txt")
'aa.txt'
>>> os.path.dirname("E:\\A\\B\\C\\aa.txt")
'E:\\A\\B\\C'
>>> os.path.join('C:\\','A','B','D')
'C:\\A\\B\\D'
>>> os.path.split('E:\\A\\aa.txt')   #就是最后一个是文件夹也会分割
('E:\\A', 'aa.txt')
>>> os.path.splitext('E:\\A\\aa.txt')
('E:\\A\\aa', '.txt')
>>> time.localtime(os.path.getmtime('G:\\a.txt'))#最近修改时间
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=26, tm_hour=12, tm_min=28, tm_sec=31, tm_wday=6, tm_yday=57, tm_isdst=0)
>>> time.localtime(os.path.getctime('G:\\a.txt'))#返回文件的创建时间
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=26, tm_hour=12, tm_min=20, tm_sec=4, tm_wday=6, tm_yday=57, tm_isdst=0)
>>> time.localtime(os.path.getatime('G:\\a.txt'))#返回最近访问时间
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=26, tm_hour=12, tm_min=20, tm_sec=4, tm_wday=6, tm_yday=57, tm_isdst=0)

这里写图片描述

以下函数返回True或者False

exists(path)判断指定路径(目录或文件)是否存在
isabs(path)判断指定路径是否是绝对路径
isdir(path)判断指定路径是否存在且是一个目录
isfile(path)判断指定路径是否存在且是一个文件
islink(path)判断指定路径是否存在且是一个符号链接
ismount()判断指定路径是否存在且是一个挂载点
samefile(path1,path2)判断path1,path2两个路径是否指向同一个文件
>>> os.path.ismount("E:\\")#盘符是挂载点
True
>>> os.path.ismount("E:\\A") # 盘下的目录不是挂载点
False
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值