python目录操作一
2018-01-13 22:34
211 查看
目录操作
Python os 模块提供了一个统一的操作系统接口函数, 这些接口函数通常是平台指定的,os 模块能在不同操作系统平台(如 nt 或 posix)中的特定函数间
自动切换,从而能实现跨平台操作。
python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil
模块。
引入该模块,import os
os.getcwd()
获取当前工作目录,即当前Python脚本工作的目录路径
import os way = os.getcwd() print way D:\LEARN\ebook\python\Test
os. chdir(path)
改变当前脚本工作目录;相当于shell下的cd命令
workPath = os.getcwd() print u"当前工作目录:", workPath #改变工作目录 os.chdir('D:\LEARN\ebook\python') print u"改变后的工作目录:", os.getcwd()
结果:
当前工作目录: D:\TOOL\PycharmProjects\python\December
改变后的工作目录: D:\LEARN\ebook\python
os.pardir
返回当前目录的父目录('..')
os.name
获取当前使用的操作系统类型:
print os.name
'nt'
(其中 ‘nt’ 是 windows,’ posix’ 是
linux 或者 unix)
os.mkdir
os.makedirs(path [, mode=0777])
可生成多层递归目录,父目录如果不存在,递归生成。
参数mode表示生成的目录的权限,默认是超级权限,也就是0777。
代码示例:
#encoding=utf-8
import os
os.makedirs(r'c:\gloryroad\test')
执行结果:
在c盘录下生成gloryroad目录,并在目录下新建test目录
os.popen(command [, mode='r' [, bufsize]])
运行shell命令,并返回一个文件对象。然后通过操作文件的方法去操作这个
文件对象。
encoding=utf-8 import os dirList = os.popen('dir d:\\test*.*') for i in dirList.readlines() : print
os.walk(top, topdown=True, onerror=None, followlinks=False)
参数说明:
top:表示需要遍历的目录树的路径。
topdown的默认值是“True” ,表示首先返回目录树下的文件,然后遍历目录树下的
子目录。值设为False时,则表示先遍历目录树下的子目录,返回子目录下的文件,最后
返回根目录下的文件。
onerror的默认值是“None” ,表示忽略文件遍历时产生的错误。如果不为空,则提
供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历。
该函数返回一个列表,列表中的每一个元素都是一个元组,该元组有3个元素,分别表
示每次遍历的路径名,目录列表和文件列表。
默认情况下,os.walk 不会遍历软链接指向的子目录,若有需要请将followlinks设定为
true
获取目录下所有目录多少,文件多少
#encoding=utf-8 import os for root, dirs, files in os.walk("e:\\test2",topdown=False) : print u“当前目录:",root #打印目录绝对路径 for name in files : print u'文件名:',os.path.join(root,name) #打印文件绝对路径 for name in dirs : print u'目录名:',name #打印目录绝对路径
directory = 0 filename = 0 for root, dirs, files in os.walk("E:\syswin\\nmon_report", topdown=False): print u"当前目录:", root # 打印目录绝对路径 for name in files: print u'文件名:', os.path.join(root, name) # 打印文件绝对路径 filename += 1 for name in dirs: print u'目录名:', name # 打印目录绝对路径 directory += 1 print "目录名有:",directory,"个" print "文件名有:",filename,"个"
练习1:找到文件1.txt所在的绝对路径
#encoding=utf-8 import os for root, dirs, files in os.walk("e:\\test2",topdown=False) : #print u"当前目录:",root #打印目录绝对路径 for name in files : #print u'文件名:',os.path.join(root,name) #打印文件绝对路径 if name.decode("gbk") == u"文件1.txt": print u'文件名:',os.path.join(root,name)
练习2:统计一下test2下的所有子目录有几个,一共有多少个文件
#encoding=utf-8 import os dir_num=0 file_num=0 for root, dirs, files in os.walk("e:\\test2",topdown=False) : #print u"当前目录:",root #打印目录绝对路径 for name in files : file_num+=1 for dir in dirs: dir_num+=1 print "file number:",file_num print "dir number:",dir_num
统计目录下:“.txt”
file_name = 0 for root, dirs, files in os.walk("E:\syswin\\nmon_report", topdown=False): # print u"当前目录:",root #打印目录绝对路径 for name in files: if ".txt" == name[-4:]: file_name += 1 print file_name
把一个目录下的所有文件名,打印一下,注意不要包含后缀名
file_names = [] for root, dirs, files in os.walk("E:\syswin\\nmon_report", topdown=False): # print u"当前目录:",root #打印目录绝对路径 for name in files: file_names.append(os.path.splitext(name)[0]) for i in file_names: print i
相关文章推荐
- python实现的ftp自动上传下载程序(支持目录递归操作)----转
- (转)python文件和目录操作方法大全(含实例)
- Python中的文件和目录操作
- Python 目录操作
- python 文件目录操作
- Python----文件/目录的常用管理操作
- Python中的文件和目录操作实现代码
- python 目录,文件,系统 操作
- Python3.4操作文件目录
- Python3目录操作
- python之文件的读写和文件目录以及文件夹的操作实现代码
- python 的文件和目录操作
- Python 文件和目录的操作
- Python目录操作
- python 文件、目录操作(新增、移动、删除等)
- Python文件管理对相应目录下的进删除、重命名、移动文件等相应操作
- python天天进步(2)--文件操作之遍历目录
- Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
- Python基础-操作文件和目录
- Python操作文件目录