python对文件夹进行操作

python操作文件与文件夹

  • python操作文件与文件夹
    • 1.使用os操作文件与文件夹
      • os模块的常用方法
      • 1.getcwd()
      • 2.chdir()
      • 3.listdir()
      • 4.mkdir()
      • 5.makedirs()
      • 6.rmdir()
      • 7.removedirs()
      • 8.rename()
      • 9.remove()删除==文件==
    • 2.使用os.path操作文件与文件夹
      • 1.os.path.abspath()
      • 2.dirname与basename
      • 3.os.path.split()
      • 4.os.path.join()
      • 5.os.path.isfile()与isdir()
      • 5.os.path.getsize()
    • 总结

python操作文件与文件夹

1.使用os操作文件与文件夹

os模块的常用方法

方法 说明
os.getcwd() 获取当前工作目录
os.chdir() 改变当前工作目录
os.listdir() 列出当前目录下的文件
os.mkdir() 创建文件夹
os.makedirs() 递归创建文件夹目录
os.rmdir() 删除空目录
os.remakedirs() 递归删除文件夹目录
os.rename() 文件或文件夹重新命名
os.remove() 删除文件

1.getcwd()

import os
path=os.getcwd()#获取当前运行文件所在路径
print(path)

#结果:
========================== RESTART: D:/learnpy/os学习.py =========================
D:\learnpy
>>> 

2.chdir()

这个一般建议在终端窗口使用,它是改变当前路径,在改变的路径下进行操作,如图,原本路径,与改后路径,然后创建文件,它保存在D盘里了
python对文件夹进行操作_第1张图片

3.listdir()

import os
path="D:\learnpy\数据表"
path_list=os.listdir(path)
print(path_list)


在这里插入图片描述

4.mkdir()

import os
#没创建之前查看"D:\learnpy"该目录下的文件
before_path=os.listdir()
os.mkdir("D:\learnpy\os学习")#在"D:\learnpy"路径下创建os学习文件夹
#查看是否创建成功
after_path=os.listdir()
print("before文件的总数量:",len(before_path))
print("*"*10)
print("after文件的总数量:",len(after_path))
#
======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
before文件的总数量: 86
**********
after文件的总数量: 87
>>> 

5.makedirs()

import os
before=os.listdir("D:/learnpy/os学习")
os.makedirs("D:/learnpy/os学习/a/b/c")#在"D:\learnpy\os学习\中创建a文件夹,接着a文件夹创建b,依次类推"
#查看是否创成功
path=os.listdir("D:/learnpy/os学习")
print("before:",before)
print("*"*10)
print("after文件的总数量:",path)

#======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
before: []
**********
after文件的总数量: ['a']
>>> 



6.rmdir()

import os
#before=os.listdir("D:/learnpy/os学习")
os.rmdir("D:/learnpy/os学习/a/b/c")#删除c文件夹
path=os.listdir("D:/learnpy/os学习/a/b")
#print("before:",before)
print("*"*10)
print("after文件的总数量:",path)
#======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
**********
after文件的总数量: []


7.removedirs()

import os
#before=os.listdir("D:/learnpy/os学习")
os.removedirs("D:/learnpy/os学习/a/b")#删除c文件夹
path=os.listdir("D:/learnpy/os学习/a/b")
#print("before:",before)
print("*"*10)
print("after文件的总数量:",path)
'''
报错:
 File "D:\Program Files (x86)\python\lib\os.py", line 243, in removedirs
    rmdir(name)
OSError: [WinError 145] 目录不是空的。: 'D:/learnpy/os学习/a/b'''
>>> 


注意,递归删除的文件,里面的目录是需要是空的,没有文件,下面我们删除文件,结果没有报错,把递归创建的文件夹都删除了

import os
before=os.listdir("D:/learnpy/os学习")
os.remove("D:/learnpy/os学习/a/b/1.txt")#删除b目录下的文件
os.removedirs("D:/learnpy/os学习/a/b")#删除c文件夹
path=os.listdir("D:/learnpy/os学习")
print("before:",before)
print("*"*10)
print("after文件的总数量:",path)
'''
======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
before: ['2ds.txt', 'a']
**********
after文件的总数量: ['2ds.txt']
>>> 
'''


8.rename()

发现一个很神奇的事情,就是在我电脑上执行以上操作,我os学习文件夹原来的文件改名后被移动到D:/learnpy这个位置了,然后os学习文件夹空了,这我也不知道为什么

import os
os.rename("D:/learnpy/os学习/加油.txt","加油你好.txt")
new_name=os.listdir("D:/learnpy/os学习")
print(new_name)
'''
======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
[]
>>> 

'''


9.remove()删除文件

如果我们输入删除的是文件目录,它会显示报错,不可以混淆rmdir()与remove()

import os
os.remove("D:/learnpy/os学习/加油.txt")
print("完成")



2.使用os.path操作文件与文件夹

方法 说明
os.path.abspath() 返回绝对路径
os.path.dirname() 显示完整目中的目录部分
os.path.basename 显示路径的最后文件
os.path.split() 把文件与目录路径分开
os.path.join() 起连接作用
os.path.isfile() 判断该文件存在
os.path.isdir() 判断该目录是否存在
os.path.getsize() 获取文件大小

1.os.path.abspath()

>>> import os
>>> os.chdir("D:/learnpy/os学习")
>>> path='./加油你好.txt'#相对路径
>>> os.path.abspath(path)
'D:\\learnpy\\os学习\\加油你好.txt'#转化为绝对路径

2.dirname与basename

import os
path="D:/learnpy/os学习/a/b"
dir_name=os.path.dirname(path)
print("dirname:",dir_name)
base_name=os.path.basename(path)
print("basename:",base_name)

'''
返回结果:
==
dirname: D:/learnpy/os学习/a
basename: b
'''

3.os.path.split()

就是将文件路径与文件分开,返回的是二元组的形式

import os
path="D:/learnpy/os学习/加油你好.txt"
path_split=os.path.split(path)
print(path_split)
'''
('D:/learnpy/os学习', '加油你好.txt')
>>> 
'''

4.os.path.join()

将路径连接起来,join()里面的参数可以是多个

import os
path="D:/learnpy/os学习/"
path_join='ni.py'
r=os.path.join(path,path_join)
print(r)
'''
==
D:/learnpy/os学习/ni.py
>>> 
'''


5.os.path.isfile()与isdir()

import os
path1="D:/learnpy/os学习/jiayou.txt"
path2="D:/learnpy/os学习/加油你好.txt"
path="D:/learnpy/a"
r1_f=os.path.isfile(path1)
r2_f=os.path.isfile(path2)
r1_dir=os.path.isdir(path)
print("path1文件判断结果为{},path2文件判断结果为{},path路径是否存在结果为{}".format(r1_f,r2_f,r1_dir))

'''
==
path1文件判断结果为False,path2文件判断结果为True,path路径是否存在结果为False
>>> 
'''

5.os.path.getsize()

import os
path="D:/learnpy/os学习/加油你好.txt"
r=os.path.getsize(path)
print(r)



总结

这些操作,可以方便自己批量整理本机文件名,创建、修改,删除等操作,做完这篇笔记,在脑海里加深了记忆。

你可能感兴趣的:(python,文档资料)