关于python3利用OS读取当前目录下所有文件绝对路径的简单总结

2017/07/26 Python

关于python3利用OS读取当前目录下所有文件绝对路径的简单总结

因为工作需要,经常处理一堆一堆的文件,感觉很烦人。后来自己搞了段代码进行批处理,

当时用到了读取文件路径的方法,感觉并不难,几个函数就能搞定,突然觉得我这种懒人天生适合用python啊

下面就总结一下python3中OS模块的使用以及批量获取所有文件路径的方法,比起网上好多复杂的写法,这个算是简单的~~

1、导入OS模板:用来处理文件和目录

import os
path = r'C:\Users\JAY23\Desktop\测试'

2、用于改变当前工作目录到指定的路径:os.chdir(path)

#注意路径尽量使用绝对路径,或者使用r来避免转义符\的问题
os.chdir(path)

3、返回当前工作路径:os.getcwd()

os.getcwd()
'C:\\Users\\JAY23\\Desktop\\测试'

4、列表形式返回中的指定的路径中文件名或文件夹名:os.listdir(path)

#注意此方法只能获取当前路径下的文件和文件夹
os.listdir(path)
['0-1.xlsx', '0-2.xlsx', '文件夹1', '文件夹2']

5、连接目录与文件名或目录:os.path.join(path,name)

os.path.join(path,'文件名')
'C:\\Users\\JAY23\\Desktop\\测试\\文件名'

6、生成器形式返回指定路径下的文件路径、文件夹名、文件名:os.walk(),此函数非常非常有用

注意:Python3中walk已从os.path下迁移至os下!

os.walk(path)  
<generator object walk at 0x0000029010C472B0>
'''读出返回的内容'''
for dirpath,dirname,filename in os.walk(path):
    print('输出路径:%s'%dirpath)
    print('输出文件夹名:%s'%dirname)
    print('输出文件名:%s'%filename)
    print('-------------')
输出路径:C:\Users\JAY23\Desktop\测试
输出文件夹名:['文件夹1', '文件夹2']
输出文件名:['0-1.xlsx', '0-2.xlsx']
-------------
输出路径:C:\Users\JAY23\Desktop\测试\文件夹1
输出文件夹名:[]
输出文件名:['1-1.xlsx', '1-2.xlsx']
-------------
输出路径:C:\Users\JAY23\Desktop\测试\文件夹2
输出文件夹名:[]
输出文件名:['2-1.xlsx', '2-2.xlsx']
-------------

7、常用功能:读取指定目录下的所有文件名,利用os.walk和os.path.join即可实现。PS:网上很多代码都很复杂

dirlist = []
for dirpath,dirname,filename in os.walk(r'C:\Users\JAY23\Desktop\测试'):
    for i in filename:
        dirlist.append(os.path.join(dirpath,i))
dirlist
['C:\\Users\\JAY23\\Desktop\\测试\\0-1.xlsx',
 'C:\\Users\\JAY23\\Desktop\\测试\\0-2.xlsx',
 'C:\\Users\\JAY23\\Desktop\\测试\\文件夹1\\1-1.xlsx',
 'C:\\Users\\JAY23\\Desktop\\测试\\文件夹1\\1-2.xlsx',
 'C:\\Users\\JAY23\\Desktop\\测试\\文件夹2\\2-1.xlsx',
 'C:\\Users\\JAY23\\Desktop\\测试\\文件夹2\\2-2.xlsx']

声明:作者原创文章,未经同意严禁转载

Show Disqus Comments

Search

    欢迎关注我的微信公众号

    闷骚的程序员

    Table of Contents