龙空技术网

Python点滴6 组织文件-遍历目录(win10)

英明果断旭日Cc 187

前言:

现时你们对“python集合遍历”大概比较注重,兄弟们都需要学习一些“python集合遍历”的相关知识。那么小编也在网摘上汇集了一些关于“python集合遍历””的相关资讯,希望姐妹们能喜欢,同学们一起来了解一下吧!

1、shutil模块

1.1复制文件和文件夹

shutil.copy(source,destination)

注意:如果destination 指定了 新文件名 则就相当于复制后 改名了

shutil.copytree(source,destination)

1.2 文件和文件夹的移动与改名

shutil.move(source,destination)

注意:(1)如果destination 目录中存在一个相同的文件名,则会被覆盖,当然可以指定一个新文件名,相当于改名。

(2) destination 中的目录必须存在,否则会报错。

1.3 永久删除文件和文件夹

os.unlink(path) 将删除path的文件

os.rmdir(path)将删除path的文件夹,必须为空。

os.rmtree(path) 将删除path的文件夹,不必为空。

程序中使用上述删除命令需要小心,一般先注释掉,使用print() 测试一下是否正确。

os.listdir(path) 返回path 的所有文件及文件夹目录的一个列表(包括子文件夹内的路径)

str.endswith(suffix[,start][,end]): str:字符串,待判断字符串suffix:后缀,判断字符串后缀是否是这几个后缀,可为单字符也可为多字符。start:索引字符串开始序号,可选,默认为0,从第一个位置开始。end:索引字符串结束序号,可选,默认为字符串长度len(str),从最后位置结束。若填写则开始字符串也要填,start填,end可选填。

例:

import os,shutilfor filename in os.listdir():    if filename.endswith('.txt'):       #os.unlink(filename)       print(filename)

上例中注销了 os.unlink(filename) 改成了 print(filename) 确保不会出现不可逆转的误操作。

1.4 使用send2trash模块安全删除

send2trash.send2trash() 将文件和文件夹删除到垃圾箱。

2、os.walk() 遍历目录

返回3个值:当前文件夹名称的字符串,当前文件夹中子文件夹的字符串列表,当前文件夹中文件的字符串列表

import osfor folderName,subfolders,filenames in os.walk('c:\delicious'):    print('The current folder is ' + folderName)    for subfolder in subfolders:        print('SUBFOLDER OF ' + folderName + ': ' + subfolder)    for filename in filenames:        print('FILE INSIDE ' + folderName + ': ' + filename)    print(' ')

输出结果:

The current folder is c:\delicious

SUBFOLDER OF c:\delicious: cats

SUBFOLDER OF c:\delicious: walnut

FILE INSIDE c:\delicious: spam.txt

The current folder is c:\delicious\cats

FILE INSIDE c:\delicious\cats: catnames.txt

FILE INSIDE c:\delicious\cats: zophie.jpg

The current folder is c:\delicious\walnut

SUBFOLDER OF c:\delicious\walnut: waffles

The current folder is c:\delicious\walnut\waffles

FILE INSIDE c:\delicious\walnut\waffles: butter.txt

进程已结束,退出代码为 0

标签: #python集合遍历