python目录操作一

简介:

目录操作

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









本文转自 知止内明 51CTO博客,原文链接:http://blog.51cto.com/357712148/2060680,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
Python
在 Python 中,如何处理文件和目录?
在 Python 中,如何处理文件和目录?
73 0
|
1月前
|
安全 Unix Linux
在Python中,如何处理文件和目录的访问权限?
【2月更文挑战第15天】【2月更文挑战第43篇】在Python中,如何处理文件和目录的访问权限?
|
3月前
|
BI Windows Python
python报表自动化系列 - 在Windows中打开指定目录
python报表自动化系列 - 在Windows中打开指定目录
31 1
|
3月前
|
BI Python
python报表自动化系列 - 获取指定目录所有文件绝对路径
python报表自动化系列 - 获取指定目录所有文件绝对路径
27 0
|
4月前
|
Python
python如何使用os模块进行文件和目录操作?
python如何使用os模块进行文件和目录操作?
|
5月前
|
网络协议 关系型数据库 Linux
python高级学习目录
python高级学习目录
57 0
|
5月前
|
Python Windows
Python 扩展 快捷贴士:os模块下的创建目录的方式
如果子目录创建失败或者已经存在,会抛出一个 OSError 的异常,Windows上Error 183 即为目录已经存在的异常错误。
53 0
|
5天前
|
数据安全/隐私保护 Python
Python文件与目录操作:面试中的高频考点
【4月更文挑战第15天】本文介绍了Python文件和目录操作的面试重点,包括文件的读写、目录遍历及权限管理。强调了文件关闭、异常处理、特殊文件判断以及权限位和权限字符串的理解。提供了代码示例,如读写文件、遍历目录和更改文件权限,帮助读者在面试中表现出色。掌握这些技能将对编程求职之路大有裨益。
17 0
|
4月前
|
机器学习/深度学习 人工智能 PyTorch
《人工智能专栏》专栏介绍 & 专栏目录 & Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程
《人工智能专栏》专栏介绍 & 专栏目录 & Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程
105 1
|
1月前
|
开发者 Python
Python语言的文件及目录访问
Python语言的文件及目录访问