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. LeetCode 993. Cousins in Binary Tree(判断结点是否为Cousin)

    993. Cousins in Binary Tree In a binary tree, the root node is at depth 0, and children of each dept ...

  2. [Bayes] Concept Search and LSI

    基于术语关系的贝叶斯网络信息检索模型扩展研究 LSI 阅读笔记 背景知识 提出一种改进的共现频率法,利用该方法挖掘了索引术语之间的相关关系,将这种相关关系引入信念网络模型,提出了一个具有两层术语节点的 ...

  3. python调用kafka服务(使用kafka-python库)

    试验环境: CDH 5.15.1 CentOS 7 Python 3.7.0 kafka 1.1.1 kafka-python :https://pypi.org/project/kafka-pyth ...

  4. Pytest单元测试框架-Pytest环境安装

    unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发 ...

  5. JS字符串数字前面加加号会变成数字类型

    JS中一个字符串中只有数字,如果该字符串前面加了个加号,这个数值就变成了number类型.如本文测试中,用lodop打印二维码,最后一个参数是一个字符串,在前面加了加号和不在前面加加号,通过控制台输出 ...

  6. 利用function和bind实现回调功能

    介绍一种利用function和bind来实现回调的功能. C++参考手册中对function的介绍: std::function的实例能存储.复制及调用任何可调用的目标,包括:函数.lambda表达式 ...

  7. hashmap源码解析,JDK1.8和1.7的区别

    背景:hashmap面试基础必考内容,需要深入了解,并学习其中的相关原理.此处还要明白1.7和1.8不通版本的优化点. Java 8系列之重新认识HashMap Java 8系列之重新认识HashMa ...

  8. 【LeetCode】寻找两个有序数组的中位数【性质分析+二分】

    给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 nums2 ...

  9. Get Docker Engine - Community for Ubuntu

    Get Docker Engine - Community for Ubuntu Uninstall old versions$ sudo apt-get remove docker docker-e ...

  10. PB 报表数值列加%