【python】os模块 递归删除文件夹所有文件 --笔记

'''
os.environ  获取系统的环境变量
os.name   nt -- windows  \r\n | posix --- Linux \nos.path:'''
import osprint(os.environ)
print(os.environ['OS'])print(os.path.abspath('t1/file01.py'))  # 获取绝对路径
print(os.path.isabs('t1/file01.py'))  # 判断所给的路径是否是一个绝对路径
print(os.path.isfile('t1/file01.py'))  # True  判断是否是文件
print(os.path.isdir('t1/file01.py'))  # False  判断是否是文件夹
print(os.path.exists('t1/file02.py'))  # False  判断是否存在文件夹或者文件
print(os.path.join(r'c:\foo', 'a.txt'))
print(os.path.split(r'c:\foo\a.txt'))path = r'C:\考试1\chen\yuan\post bar\a.png'
print(os.path.split(path))print(os.path.getsize(r'C:\images\desk_background.jpg'))  # 单位字节
# 5*1024*1024 1Mprint(os.path.getatime(r'C:\images\desk_background.jpg'))  # 访问时间
print(os.path.getctime(r'C:\images\desk_background.jpg'))  # 创建时间 windows
print(os.path.getmtime(r'C:\images\desk_background.jpg'))  # 修改时间# os.remove()
# path = 't2'
# if os.path.isdir(path):
#     files = os.listdir(path)
#     if len(files) == 0:
#         os.rmdir('t1')  # 删除文件夹
#     else:
#         for file in files:
#             path1 = os.path.join(path, file)
#             os.remove(path1)  # 删除文件# 也可以递归删除文件
# def delAll(path):
#     if os.path.isdir(path):
#         files = os.listdir(path)  # ['a.doc', 'b.xls', 'c.ppt']
#         # 遍历并删除文件
#         for file in files:
#             p = os.path.join(path, file)
#             if os.path.isdir(p):
#                 # 递归
#                 delAll(p)
#             else:
#                 os.remove(p)
#         # 删除文件夹
#         os.rmdir(path)
#     else:
#         os.remove(path)
#
#
# delAll('c:/foo')
'''
os
mkdir()
rmdir()   空的文件夹
非空: OSError: [WinError 145] 目录不是空的。: 'c:/考试1'
递归的方式
import shutil
shutil.rmtree(r'C:\bank_system')   非空文件夹的删除os.listdir(path)  查看path下的内容,并以列表的形式返回
os.chdir('c:/考试1')  切换目录
os.getcwd()  获取当前文件的路径 (绝对路径)os.getpid()   get process id  获取当前的进程id
os.getppid()  get parent process id  获取父进程id'''
import osprint(os.name)
# try:
#     # os.mkdir('t2')
#     os.mkdir('c:/foo')
# except FileExistsError:
#     print('文件夹已经存在')
#     os.rmdir('c:/foo')
# os.rmdir('c:/考试1')# import shutil
#
# shutil.rmtree(r'C:\bank_system')files = os.listdir(r'C:\online-store')
print(files)print(os.getpid())
print(os.getppid())print(os.getcwd())
os.chdir('c:/考试1')  # change dir
print(os.getcwd())
list1 = os.listdir(os.getcwd())
print(list1)# 也可以递归删除文件
def delAll(path):if os.path.isdir(path):files = os.listdir(path)  # ['a.doc', 'b.xls', 'c.ppt']# 遍历并删除文件for file in files:p = os.path.join(path, file)if os.path.isdir(p):# 递归delAll(p)else:os.remove(p)# 删除文件夹os.rmdir(path)else:os.remove(path)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据之Spark集群安装及简单使用

目录1、Spark集群安装1.1. 安装 2、启动Spark Shell2.1、启动spark shell2.2、在spark shell中编写WordCount程序 目录 1、Spark集群安装 1.1. 安装 1.1.1. 机器部署 准备两台以上Linux服务器,安装好JDK1.7 1.1.2. 下载Spark安装包 下载地址:ht…

《C和C++代码精粹》——1.7 类型安全I/O

本节书摘来自异步社区出版社《C和C代码精粹》一书中的第1章第1.7节,作者: 【美】Chuck Allison,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.7 类型安全I/O C和C代码精粹当然每个C程序员都曾经使用过printf的错误格式描述符号。…

大数据之Spark简介及RDD说明

目录前言:1、Spark概述1.1、什么是Spark(官网:http://spark.apache.org)1.2、为什么要学Spark1.3、Spark特点 2、RDD概述2.1、什么是RDD2.2、RDD的属性2.3、创建RDD的两种方式2.4、RDD编程API2.5、RDD的依赖关系2.6、RDD的缓存2.7…

Python3中urlopen()详解

一. 简介 urllib.request.urlopen()函数用于实现对目标url的访问。 函数原型如下:urllib.request.urlopen(url, dataNone, [timeout, ]*, cafileNone, capathNone, cadefaultFalse, contextNone)  url: 需要打开的网址 data:Post提交的数据 timeo…

python面向对象实现简易银行管理员页面系统

银行管理员页面系统设计:card 类: cardId password moneyuser 类: username phone id cards[]银行的工作人员: 账号 密码 登录 展现管理系统所有功能Bank类:开户取钱存钱转账销户查账解锁... import pickle import random# 银行卡 import time#card 类…

单子模式

package test; class aceing { /** param args */ private static aceing ace; public aceing() { super(); System.out.println("aceing类中的无参构造器调用了"); } public static aceing getAceing() { if(ace null) { ace new aceing(); } return ace; }} pack…

《塑造互联网思维的企业》一一第4章 全球商务向社会化媒体的转变

第4章 全球商务向社会化媒体的转变 塑造互联网思维的企业社会化媒体在发达国家的广泛采用已是我们所熟知的,它在社会和全球文化产生的大范围变革中至关重要。为了完全了解其中的原因,有必要探究一下那些推动社会化商务的复杂且相互关联的因素的共同影响…

大数据之SparkSQL简介及DataFrame的使用

目录前言:1、Spark SQL1.1、Spark SQL概述1.2、DataFrames1.3、DataFrame常用操作 总结: 目录 前言: 本文主要介绍下SparkSQL以及SparkSQL的简单使用。这里只是做了一个非常简单的介绍,后续工作中如果有用到相关的知识&#xff…

python的各种推导式(列表推导式、字典推导式、集合推导式)

python的各种推导式(列表推导式、字典推导式、集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Pyt…

原生js实现jquery库中选择器的功能(jquery库封装一)

今天是2017.1.1,新的一天,新的一年,新的一年里继续夯实基础知识,在工作中多些项目,多思考,多总结,前端是不断更新,在更新的过程中也是发现乐趣和挑战自我的过程,希望年轻…

Ubantu下使用vi时,方向键变字母输出、退格键无法删除字符的解决办法

目录前言:一、编辑/etc/vim/vimrc.tiny二、安装vim full版本三、添加”.vimrc”文件 目录 前言: 最近由于要玩TensorFlow,所以把尘封已久的Ubantu给打开了,不过配置网络的时候,算是一团糟,出现了在插入模…

《Python爬虫开发与项目实战》——第3章 初识网络爬虫 3.1 网络爬虫概述

本节书摘来自华章计算机《Python爬虫开发与项目实战》一书中的第3章,第3.1节,作者:范传辉著,更多章节内容可以访问云栖社区“华章计算机”公众号查看 第3章 初识网络爬虫 从本章开始,将正式涉及Python爬虫的开发。本章…

【python】解决:TypeError: can't send non-None value to a just-started generator

在一个生成器函数未启动之前,是不能传递数值进去。必须先传递一个None进去或者调用一次next(g)方法,才能进行传值操作 def product(c):# c.send(None)for i in range(5):print("生产者产生数据%d"%i)r c.send(str(i))print("消费者消费了…

Shell脚本与vi编辑器:vi启动与退出、工作模式、命令大全

Vi简介 Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序。Vi不是排版程序,只是一个纯粹的文本编辑程序。Vi是全屏幕文本编辑器,它没有菜单,只有命令。Vi不是基于窗口的,所以,这个多用途编辑程序可以用于在任何…

windows环境下,如何在Pycharm下安装TensorFlow环境

文章目录目录前言:1.安装Anaconda2.安装Tensorflow3.其他问题4.在pycharm中使用tensorflow目录 前言: 最近由于工作需要要使用TensorFlow,所以只能狂补相关的知识。本来博主打算在Ubantu上玩,但是由于一些原因还是放弃了这个想法…

python面向对象实现简易银行管理员页面系统【导入自定义模块】

main.py 人 类名:Person 属性:姓名 身份证号 电话 卡 行为:卡 类名:Card 属性:卡号 密码 余额 行为:银行 类名:Bank 属性:用户列表 提款机提款机 类名:ATM 属性&#xf…

[转] dpkg-deb命令

点击此处阅读原文 软件包管理 dpkg-deb命令是Debian Linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息。 语法dpkg-deb(选项)(参数) 选项-c:显示软件包中的文件列表; -e:将主控信息解压;…

《Effective Debugging:软件和系统调试的66个有效方法》一第5条:在能够正常运作的系统与发生故障的系统之间寻找差别...

本节书摘来自华章出版社《Effective Debugging:软件和系统调试的66个有效方法》一书中的第1章,第1.5节,作[希]迪欧米迪斯斯宾奈里斯(Diomidis Spinellis),更多章节内容可以访问云栖社…

如何安装多个Python版本以及在Pycharm中切换Python版本

目录前言: 首先要切换不同的版本,你必须先下载不同的Python版本,整个步骤如下所示:1、下载Python2.7x和Python3.5x版本2、安装Python2.7x和Python3.5x版本3、配置环境变量,分别添加如下至path路径4、只修改Python27&am…

【python】逻辑运算符总结

# 逻辑运算符 &#xff1a;构造复杂条件 # 优先级 not > and > or # 逻辑与 and 并且、同时 import random# a random.randint(1,5) # if a > 1 and a < 3_流程控制: # print("true") # else: # print("false") # 可以转换为假&#…