python处理文件、文件夹-小结
目录
1、获取路径
2、切换路径(指的是当前文件的执行路径)
3、拆分获取路径、文件名、文件后缀
4、获取文件属性
5、检查文件、文件夹
6、获取当前目录下的文件、文件夹
7、复制文件、文件夹
8、删除文件、文件夹
9、移动文件(目录)
10、创建文件夹、文件
11、重命名
=======================================================
正文
1、获取路径
(1)获取当前目录的路径: os.getcwd()
或者:获取当前路径:os.path.split(os.path.realpath(__file__))[0] (强烈推荐)
(2)获取上级目录的路径:os.path.abspath('..')
(3)获取指定路径的上级目录。不需要由运行文件本身位置决定。
1)任意构造路径:获取上级目录
parentpath = os.path.abspath(r'D:\hhh\biancheng\workspace\userpy' + os.sep + '..')
2)存在构造路径:获取上级目录
parentpath = os.path.abspath( os.path.split(os.path.realpath(__file__))[0] + os.sep + '..') (强烈推荐)
(4)获取文件绝对路径:
absolute_fix_path = os.path.dirname(os.path.abspath(__file__))
file_name = "./1.txt"
absolute_all_path = os.path.join(absolute_fix_path, file_name)
print(absolute_all_path)
2、切换路径(指的是当前文件的执行路径)
(1)转换目录 : os.chdir("path") 换路径 os.chdir("../") 切换到上一级目录
3、拆分获取路径、文件名、文件后缀
返回一个路径的目录名和文件名:os.path.split() eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')
分离扩展名:os.path.splitext()
获取路径名:os.path.dirname()
获取文件名:os.path.basename()
获取路径中的文件夹名称:
path1=r"/home/swaroop/byte/code//\\"
dir_scaned_name=os.path.split(path1.rstrip(r'/\\'))[1]
print(dir_scaned_name) # 输出 code
通过os.path.join(path, name)连接目录和文件名
4、获取文件属性
获取文件属性:os.stat(filename)
获取文件大小:os.path.getsize(filename) 单位:字节
或者:os.stat(filename).st_size
返回指定目录下的所有文件和目录名:os.listdir()
5、检查文件、文件夹
(1)存在检查
检验文件、文件夹是否真地存:os.path.exists()
(2)类型+存在检查
1)检验给出的路径是否是一个文件:os.path.isfile()
2)检验给出的路径是否是一个目录:os.path.isdir()
3)判断是否是绝对路径:os.path.isabs()
6、获取当前目录下的文件、文件夹
(1)【标准库】glob
用于查找文件,【支持通配符】(* 和 ?)
代码示例——获取当前目录所有 txt 文件
import glob for file in glob.glob("./*.txt") : print(file)
7、复制文件、文件夹
复制文件:
shutil.copyfile("oldfile","newfile") oldfile和newfile都只能是文件
shutil.copy("oldfile","newfile") oldfile只能是文件夹,newfile可以是文件,也可以是目标目录
复制文件夹:
shutil.copytree("olddir","newdir") olddir和newdir都只能是目录,且newdir必须不存在
8、删除文件、文件夹
(1)删除文件夹:删除多个目录(空目录、有内容的目录都可以删):
shutil.rmtree('b') # 同时删除b、和b中的文件(夹)
(2)删除文件:删除一个文件:
os.remove()
(3)其他
删除一个目录(只能删除空目录):
os.rmdir()
删除多个目录:同时删除python、a
os.removedirs(r“c:\python\a”)
9、移动文件(目录)
shutil.move("oldpos","newpos")
10、创建文件夹、文件
创建多级目录:os.makedirs(r“c:\python\test”)
创建单个目录:os.mkdir(“test”)
11、重命名
os.rename("oldname","newname") # 文件或目录都是使用这条命令