os模块常用方法
os模块是和系统操作有关的模块,在做自动化时,创建或者删除文件或路径、判断是文件还是路径、给文件重命名等,都需要用到这个模块,下面我们罗列了一下os模块常用的方法
1、获取当前路径
os.getcwd()
2、切换路径
os.chdir(r'D:\work') #路径切换到D:\work r'D:\work'中的r,代表它是个路径,''里面的内容不要转义
3、获取路径下的所有内容,包括文件和文件夹
os.listdir() # 参数为空代表取当前目录下内容,参数传一个路径,代表取传入参数下的所有内容
4、判断是否为文件夹
os.isdir(r'D:\work') #D:\work 是否为文件夹,是返回TRUE,否返回FLASE
5、判断是否为文件
os.isfile(r'D:\work') #D:\work 是否为文件,是返回TRUE,否返回FLASE
6、移除文件
os.remove()
7、给文件重命名
os.rename()
8、在当前路径下创建单层目录
os.mkdir('case')
9、在当前路径下创建多层目录
os.makedirs('case/login') #在当前路径下创建文件夹case,在case下再创建文件夹login
10、删除目录
os.rmdir() #删除空文件夹,里面有内容就不能删除了
11、删除多层目录
os.removedirs() # 也是只能删除空文件夹,如果里面有文件就不能删除,但是它能删除多级目录
12、执行操作系统命令 :只执行,不能拿到结果
os.system('ifconfig')
13、执行操作系统命令,且可以拿到执行的结果
result = os.popen('ifconfig').read()
14、 获取文件大小
os.path.getsize('/xxx/xxx.txt')
15、判断文件存在
os.path.exists('xxx.txt') #判断当前路径下文件xxx.txt是否存在
os.path.exists('/xxxx/xxx.txt') #判断/xxxx路径下的xxx.txt文件是否存在
16、获取文件的创建时间
os.path.getctime('xxx.txt') # c:create
17、获取文件的修改时间
os.path.getmtime('xxx.txt') # m:modify
18、获取文件的最近一次的访问时间
os.path.getatime('xxx.txt') # a:action
19、把文件路径和文件名拆分,结果为一个元祖
os.path.split(r'/xxx/abc/def/xxx.txt')
20、获取父目录
os.path.dirname(r'/xxx/abc/def/xxx.txt') #结果为:/xxx/abc/def
21、根据相对路径获取绝对路径
os.path.abspath('..') # 上一级目录的绝对路径
os.path.abspath('.') # 根据相对路径获取绝对路径,当前目录的绝对路径
os.path.abspath(__file__) # 获取当前文件的绝对路径
路径里,'.'代表当前目录,'..'代表上一级目录
22、python中拼路径
os.path.join(dir1,dir2)
23、循环某一路径下所有的文件和文件夹
os.walk(r'D:\work') # 循环D:\work下所有的文件和文件夹
例:
name = '.mp4' def search_file(path,name): for cur_dir,dirs,files in os.walk(path): # cur_dif 当前路径 dirs 当前路径下都有哪些文件夹 files 当前路径下都有哪些文件 for file in files: if name in file: abs_path = os.path.join(cur_dir,file) print('找到%s文件,路径是%s' %(file,abs_path)) search_file('/',name)