import os
os.getcwd() # 获取当前工作目录
注意:
文件在当前工作目录,可用相对路径(不写路径)。
文件不在当前工作目录,必须绝对路径(写全路径),并使用'r',例如:r'G:/python/abc'。
os.listdir
【遍历文件夹下所有文件,包括子文件夹,但不包括子文件夹下的文件】
参数:path,即需要遍历的文件夹。
返回:列表。
注意:
1、遍历当前工作目录,使用 '.' 。使用os.getcwd()获取当前工作目录。
2、需要遍历的文件名不存在,则报错FileNotFoundError;
3、返回的列表里的元素是字符串,即文件名(含扩展名)或者子文件夹名,但不包括文件路径。
补充:os.path.join(...):拼接路径和文件名,得到绝对路径(包含文件路径的文件名);
os.path.isfile(...):判断是否是文件;
os.path.isdir(...):判断是否是文件夹。
举例:
遍历文件夹下所有文件(文件 和 子文件夹,不含子文件夹下的文件 )
遍历文件夹下所有文件(只有文件,不含子文件夹 )
遍历文件夹下所有文件(只有子文件夹,不含文件 )
遍历当前工作目录
遍历的文件夹不存在,则报错
os.walk
【遍历文件夹下所有文件,包括子文件夹下的文件】
参数:top,即需要遍历的文件夹。
返回:生成器对象。(用for访问生成器里的元素)
注意:
1、生成器里的元素是元组,元组有3个元素,(当前文件夹、子文件夹列表、文件列表);
2、元组中的当前文件夹:字符串类型,文件所在的文件夹,是绝对路径;
元组中的子文件夹列表:列表类型,当前文件夹下的所有子文件夹;列表中的元素是字符串类型,只有子文件夹名不含路径;
元组中的文件列表:列表类型,当前文件夹下的所有文件(非文件夹);列表中的元素是字符串类型,文件名含扩展名不含路径。
补充:
元组解包:将元组中的元素分别赋值给不同的变量。例如:a,b = (1,2),即a=1,b=2。
元组中括号可省略。a,b=1,2,同上面效果一样。
举例:
遍历文件夹下所有文件,包括子文件夹下的文件
遍历文件夹下所有文件,使用元组解包