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. Spring cloud微服务安全实战-7-10ELK日志采集架构优化

    ELK搭建起来.采集日志,展示.但是这个架构还有一些问题. 可用性的问题,springboot的应用,随着业务的增长会越来越多.logstash压力就会越来越大.大到一定的程度可能就会吧logstas ...

  2. EIGENSTRAT计算PCA的显著性

    之前我写过一篇文章群体遗传分析分层校正,该选用多少个PCA?,里面提到可以通过EIGENSTRAT软件确定显著的主成分,后续就可以将显著的主成分加入协变量中. 这篇文章主要是讲如何通过EIGENSTR ...

  3. [LeetCode] 401. Binary Watch 二进制表

    A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom ...

  4. linux查看哪个进程占用磁盘IO

    方法一: $ iotop -oP 命令的含义:只显示有I/O行为的进程 测试结果: 方法二: $ pidstat -d 1 命令的含义:展示I/O统计,每秒更新一次 测试结果:

  5. FPGA程序编译后逻辑单元数为0

    问题 FPGA代码写完后编译不报错,但是显示使用的逻辑单元数(Total logic elements)为0.当然程序也不工作. 我用的是Intel Altera FPGA,verilog语言,在Qu ...

  6. Lambda的延迟执行

    在兼顾面向对象特性的基础上,Java语言通过Lambda表达式与方法引用等,为开发者打开了函数式编程的大门. 下面我们做一个初探. Lambda的延迟执行 有些场景的代码执行后,结果不一定会被使用,从 ...

  7. 【Linux】多线程同步的四种方式

    背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include <iostream> #include<pthread.h> ...

  8. web应用中实现同一个账号,后面登录的会把前面登录的挤下线

    在web应用中假如没有做会话控制,会出现这样的情况,A登录了账号,B也登录了账号,都是同样的账号,A修改了信息,B会看到修改的信息,这样的用户体验不好,B会觉得我没有修改啊,为什么信息会改变.而做会话 ...

  9. Governing sand(主席树/贪心)(2019牛客暑期多校训练营(第七场))

    示例:输入:25 1 11 10 125 1 23 2 3输出:12 题意:n种树,第i种树有P[i]颗,砍掉每颗树的代价是C[i], 高度是H[i].需要用最小的花费砍掉一些树,让最高的树超过一半. ...

  10. Maven 的依赖范围

    Maven 在编译项目主代码的时候需要使用一套 classpath,在编译和执行测试的时候会使用另外一套 classpath.最后,实际运行 Maven 项目的时候,又会使用一套 classpath. ...