5.Python-3.5.2 通过os模块删除文件、文件夹

例子1:删除指定路径下的文件

  • 删除文件,os.remove方法

删除文件用python的内置模块os的os.remove方法
转载:关于os.path.join()方法请参见文章Python学习:打开文件夹中的所有txt文件

os.remove(文件路径) 删除文件

import os
# 文件所在目录
path="D:\pythonProject"
# 文件名字
txt_name0="删除文件0.txt"
# os.path.join(path,txt_name0) 获得文件所在路径,并用 os.remove(文件路径) 删除

os.remove(os.path.join(path,txt_name0))
  • 删除文件夹

  • 删除文件夹用os.rmdir(文件夹路径)
  • 删除文件夹不能用 os.remove(文件夹路径),否则会报错:[WinError 5] 拒绝访问。: ‘文件夹路径’
  • 删除的文件夹必须为空,否则报错:[WinError 145] 目录不是空的。: ‘文件夹路径’

os.listdir()用法见文章Python学习:打开文件夹中的所有txt文件
————————————————

import os

path="D:\pythonProject"

dic_name="删除文件夹"
dic_path=os.path.join(path,dic_name)

# 用os.remove()删除文件夹报错
try:
    os.remove(dic_path)
except Exception as result:
    print("报错1:%s"% result)
# 用os.rmdir()删除非空文件夹报错
try:
    os.rmdir(dic_path)
except Exception as result:
    print("报错2:%s"%result)
# 先删除文件夹中的文件,再删除空文件夹
try:
	# for 循环删除文件夹中的文件
    for i in os.listdir(dic_path):
        # print(i)
        txt_path=os.path.join(dic_path,i)
        os.remove(txt_path)
    os.rmdir(dic_path)
except Exception as result:
    print("报错3:%s"%result)

原文链接:https://blog.csdn.net/sinat_37960022/article/details/112239805

例子2:包含了try函数

Python 中没有内置删除文件的函数,而是在内置的 os 模块中提供了 remove() 函数用于删除指定的文件。remove() 函数的基本语法格式如下:

os.remove(path)

其中,path 表示目标文件所在的路径,这里的路径可以使用相对路径,也可以使用绝对路径。

例如,要删除当前工作目录下的 a.txt 文件,可以使用如下的代码:

import os
os.remove("a.txt")

执行此程序,如果当前工作目录中存在 a.txt 文件,则会将其删除;反之,将抛出 FileNotFoundError 异常:

Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\demo.py", line 2, in 
    os.remove("a.txt")
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'a.txt'
  • 为了避免出现以上异常,可以在删除文件时,先判断目标文件是否存在,即如果存在才执行删除操作,执行代码如下:
import os
if os.path.exists("a.txt"):
    os.remove("a.txt")
    print("文件删除完毕")
  • 除此之外,还可以使用 try except 语句避免出现 FileNotFoundError 异常,执行代码如下:
import os
try:
    os.remove("a.txt")
    print("文件删除完毕")
except(FileNotFoundError):
    print("文件不存在")

总结:可以将例一和例二结合起来使用

先使用try()函数进行判断,再使用路径方法删除指定路径的文件。

路径连接函数: os.path.join()用法


os.path.join()函数:连接两个或更多的路径名组件,参考文章python路径拼接os.path.join()函数的用法

1.如果各组件名首字母不包含’/’,则函数会自动加上
2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾

import os

path1="dev"
path2="/home"
path3="code"
path4="icc"
path5=""
path134=os.path.join(path1,path3,path4)
path123=os.path.join(path1,path2,path3)
path135=os.path.join(path1,path3,path5)
print("path123=",path134)
print("path123=",path123)
print(path135)

结果:

path123= dev\code\icc
path123= /home\code
dev\code\

参考文章:
Python学习:打开文件夹中的所有txt文件_sinat_37960022的博客-CSDN博客

 

python路径拼接os.path.join()函数的用法 - Y、 - 博客园————————————————

你可能感兴趣的:(python,pycharm)