输出目录下所有文件及文件夹 Python自动化办公

主要使用的是Python的OS模块,在学习Python的时候肯定都接触过,如果不太了解的话可参考:Python中常用的一些模块,这里我们直接开始介绍。

获取当前Python程序运行路径

import os
print(os.getcwd)

关于程序中的斜杠(/)和反斜杠(\)

Windows中采用反斜杠(\)作为文件夹之间的分隔符;Mac和Linux中采用斜杠(/)作为文件夹之间的分隔符。

反斜杠在Python中用于转义,所以变成了两个反斜杠(\\),这也是你初学者容易搞混的地方,需要注意。

让Python自动处理路径连接

import os
print(os.path.join('eyujun','ba'))

Windows下输出:‘eyujun\\ba’;Mac和Linux下输出:‘eyujun/ba’。os.path.join可以拼接多个路径。

绝对路径和相对路径

这也是容易搞混的地方。绝对路径:从根文件开始,在Windows下就是从C盘、D盘开始,例如:C:\Users\Systems。Mac和Linux就是/,例如:/Users/Admin。

相对路径:相对于程序当前运行的目录。现在我的Python程序运行在F:\Python 3.7.7\文件夹下,这个文件夹里面还有一个eyujun文件夹,那么eyujun文件夹的相对路径就是./eyujun。

列出当前程序文件夹下的所有文件和文件夹

使用以下代码可以输出当前程序文件夹下的所有文件和文件夹,返回的类型为列表list,你可以对它进行for循环

import os
print(os.listdir())

列出指定某个文件夹下的所有文件和文件夹,使用os.listdir(指定的相对路径或者绝对路径),注意路径问题

import os
print(os.listdir('F:\\图片'))

判断是是文件还是文件夹

使用os.listdir()来列出某个文件夹的所有内容,进行循环,然后可以使用os.path.isdir(要判断的文件或者文件夹路径),来检测该文件是文件还是文件夹,如果是文件夹会返回True,如果是文件返回False:

import os
for file in os.listdir('F:\\图片'):
    print(file,os.path.isdir(file))

推荐使用os.scandir(指定的绝对路径或相对路径),获取文件名字需要使用name属性,获取路径使用path属性:

import os
for file in os.scandir():
    # 打印文件名字,文件路径 是否属于文件夹
    print(file.name,file.path,file.is_dir())

发表评论