2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python操作目录_Python语言目录操作一

python操作目录_Python语言目录操作一

时间:2019-06-10 12:55:21

相关推荐

python操作目录_Python语言目录操作一

本文主要向大家介绍了Python语言目录操作一,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

目录操作

Python os 模块提供了一个统一的操作系统接口函数, 这些接口函数通常是平

台指定的,os 模块能在不同操作系统平台(如 nt 或 posix)中的特定函数间

自动切换,从而能实现跨平台操作。

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil

模块。

引入该模块,import os

os.getcwd()

获取当前工作目录,即当前Python脚本工作的目录路径

importosway=os.getcwd()printwayD:\LEARN\ebook\python\Test

os. chdir(path)

改变当前脚本工作目录;相当于shell下的cd命令

workPath=os.getcwd()printu"当前工作目录:",workPath#改变工作目录os.chdir('D:\LEARN\ebook\python')printu"改变后的工作目录:",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-8importosdirList=os.popen('dird:\\test*.*')foriindirList.readlines():print

os.walk(top, topdown=True, =None, followlinks=False)

参数说明:

top:表示需要遍历的目录树的路径。

topdown的默认值是“True” ,表示首先返回目录树下的文件,然后遍历目录树下的

子目录。值设为False时,则表示先遍历目录树下的子目录,返回子目录下的文件,最后

返回根目录下的文件。

的默认值是“None” ,表示忽略文件遍历时产生的错误。如果不为空,则提

供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历。

该函数返回一个列表,列表中的每一个元素都是一个元组,该元组有3个元素,分别表

示每次遍历的路径名,目录列表和文件列表。

默认情况下,os.walk 不会遍历软链接指向的子目录,若有需要请将followlinks设定为

true

获取目录下所有目录多少,文件多少

#encoding=utf-8importosforroot,dirs,filesinos.walk("e:\\test2",topdown=False):printu“当前目录:",root#打印目录绝对路径fornameinfiles:printu'文件名:',os.path.join(root,name)#打印文件绝对路径fornameindirs:printu'目录名:',name#打印目录绝对路径

directory=0filename=0forroot,dirs,filesinos.walk("E:\syswin\\nmon_report",topdown=False):printu"当前目录:",root#打印目录绝对路径fornameinfiles:printu'文件名:',os.path.join(root,name)#打印文件绝对路径filename+=1fornameindirs:printu'目录名:',name#打印目录绝对路径directory+=1print"目录名有:",directory,"个"print"文件名有:",filename,"个"

练习1:找到文件1.txt所在的绝对路径

#encoding=utf-8importosforroot,dirs,filesinos.walk("e:\\test2",topdown=False):#printu"当前目录:",root#打印目录绝对路径fornameinfiles:#printu'文件名:',os.path.join(root,name)#打印文件绝对路径ifname.decode("gbk")==u"文件1.txt":printu'文件名:',os.path.join(root,name)

练习2:统计一下test2下的所有子目录有几个,一共有多少个文件

#encoding=utf-8importosdir_num=0file_num=0forroot,dirs,filesinos.walk("e:\\test2",topdown=False):#printu"当前目录:",root#打印目录绝对路径fornameinfiles:file_num+=1fordirindirs:dir_num+=1print"filenumber:",file_numprint"dirnumber:",dir_num

统计目录下:“.txt”

file_name=0forroot,dirs,filesinos.walk("E:\syswin\\nmon_report",topdown=False):#printu"当前目录:",root#打印目录绝对路径fornameinfiles:if".txt"==name[-4:]:file_name+=1printfile_name

把一个目录下的所有文件名,打印一下,注意不要包含后缀名

file_names=[]forroot,dirs,filesinos.walk("E:\syswin\\nmon_report",topdown=False):#printu"当前目录:",root#打印目录绝对路径fornameinfiles:file_names.append(os.path.splitext(name)[0])foriinfile_names:printi

本文由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语言Python频道!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。