1. 判断目录是否存在 'isdir',删除目录时只有该目录为空才可以 'rmdir'

import os
if(os.path.isdir('D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈')): #判断目录是否存在
print('yes')
os.rmdir('D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈') #删除目录,只有该目录为空才可以
else:
print('no')

2. 列出目录下的文件/目录名:'listdir'

#列出目录下的文件名,包括目录名
file_list=os.listdir('D:/Python_workspace/spyder_space/test_各种功能')
print(file_list)

3. 新建目录:'mkdir'

# 新建目录
os.mkdir('D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈')

4. 判断目录或文件是否存在:Path包

from pathlib import Path
file_path = Path(r'D:/Python_workspace/spyder_space/test_各种功能/test_目录.py')
# file_path = Path(r'D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈.py')
if file_path.exists(): #判断文件或目录是否存在
print('yes')
else:
print('no') # 仅仅判断文件
from pathlib import Path
file_path = Path(r'D:/Python_workspace/spyder_space/test_各种功能/test_目录.py')
# file_path = Path(r'D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈.py')
if file_path.is_file(): #判断文件或目录是否存在
print('yes')
else:
print('no') # 仅仅判断目录
from pathlib import Path
file_path = Path(r'D:/Python_workspace/spyder_space/test_各种功能/test_目录.py')
# file_path = Path(r'D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈.py')
if file_path.is_dir(): #判断文件或目录是否存在
print('yes')
else:
print('no')

5. 直接删除该文件夹(不管是否有子文件,可以本身不为空)—— shutil 包

import shutil
if(os.path.isdir('D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈')):
shutil.rmtree(r"D:\Python_workspace\spyder_space\test_各种功能\哈哈哈哈")

6. 依次删除文件夹的子文件和子目录,但是保留该文件夹(也就是执行之后,该文件夹为空)—— os.walk

# 遍历一个文件夹并删除它的所有子文件夹以及文件
import os
for root, dirs, files in os.walk(r"D:\Python_workspace\spyder_space\test_各种功能\哈哈哈哈", topdown=False):
for file in files:
os.remove(os.path.join(root, file)) #删文件
for dir_ in dirs:
os.rmdir(os.path.join(root, dir_)) # 删目录 # root 是当前正在遍历的这个文件夹地址
# dirs 该文件夹中所有的目录的名字(不包括子目录)
# files 该文件夹中所有的文件(不包括子目录)
# topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。

参考:

https://blog.csdn.net/u011961856/article/details/77840374

https://www.runoob.com/w3cnote/python-check-whether-a-file-exists.html

https://www.runoob.com/python/os-walk.html

https://blog.csdn.net/kaida1234/article/details/89553115

python判断目录或者文件的更多相关文章

  1. Python 读取目录、文件

    在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法.下面列出: os.path.abspath(path) #返回绝对路径 os.path.basename ...

  2. Python获取目录、文件的注意事项

    Python获取指定路径下的子目录和文件有两种方法: os.listdir(dir)和os.walk(dir),前者列出dir目录下的所有直接子目录和文件的名称(均不包含完整路径),如 >> ...

  3. python 跨目录访问文件

    1.同级.同目录的文件之间的访问 有这样一个目录结构 假如,in_A.py 这个文件想调用 hello_world.py 中的函数怎么办呢? --->>>  import 只需在 i ...

  4. Python判断上传文件类型

    在开发上传服务时,经常需要对上传的文件进行过滤. 本文为大家提供了python通过文件头判断文件类型的方法,非常实用. 代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  5. python判断两个文件是否相同

    此方法相当于 Linux 系统下的diff,或者是 git 下的 checkout 官方解释请看: https://docs.python.org/2/library/difflib.html #!/ ...

  6. Python监控目录和文件变化

    一.os.listdir import os, time path_to_watch = "." before = dict ([(f, None) for f in os.lis ...

  7. python获取目录下文件夹名称

    path = '/opt' dirs = os.listdir(path) for dir in dirs: print dir

  8. Python --判断路径是否为目录或文件

    os.path.isdir( ), os.path.isfile(),os.listdir( ), os.walk( ) 参考网址:https://blog.csdn.net/xxn_723911/a ...

  9. python判断文件和目录是否存在

    #Python的os.path模块提供了 isdir() 和 isfile()函数,请导入该模块,并调用函数判断指定的目录和文件是否存在. import os print os.path.isdir( ...

随机推荐

  1. Qt编写气体安全管理系统27-设备调试

    一.前言 设备调试核心就是将整个系统中的所有打印数据统一显示到一个模块上,一般都会将硬件通信的收发数据和对应的解析信号发出来或者qdebug出来,这个在调试阶段非常有用,可以具体追踪问题出在哪,哪个数 ...

  2. Js限制Input框只能输入数字

    <input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" /> <input ...

  3. [LeetCode] 264. Ugly Number II 丑陋数 II

    Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...

  4. 论consul正确的关闭姿势

    最近在工作中发现一个有意思的现象,我用 ctrl+c 关闭本地 consul 的时候,报警系统并没有发出告警,说我的 node 异常,自己看了一下代码,发现 consul 的关闭还是有点猫腻的,仔细来 ...

  5. 深度解析qml引擎---(2)绑定(binding)

    强烈的希望是人生中比任何欢乐更大的兴奋剂.--尼采 上一篇文章讲了QML引擎加载qml文件的过程,大体过程是,解析qml文件,然后为文件中的每个元素创建对应的c++对象.例如,qml文件中如果使用了T ...

  6. Eureka学习笔记

    解决:  自我保护: 消费端的调用: Euraka的集群:

  7. LeetCode 503. 下一个更大元素 II(Next Greater Element II)

    503. 下一个更大元素 II 503. Next Greater Element II 题目描述 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素.数字 ...

  8. redhat7.6Linux安装Oracle19C完整版教程

    首先安装配置虚拟机,见博客https://www.cnblogs.com/xuzhaoyang/p/11264563.html 然后配置IP地址,见博客https://www.cnblogs.com/ ...

  9. java 多个数 组合成不同的组

    public static Stack<Integer> stack = new Stack<Integer>(); private static List<String ...

  10. 『Go基础』第5节 第一个Go程序

    本节我们来学习写一个最简单的Go程序: 打印 Hello Go. 第一个Go程序, 只要跟着做, 留下个印象就可以. 用Goland创建一个 hello_go.go 文件(后缀为 .go ). 文件内 ...