1) 文件夹

os.listdir()    #显示文件夹下所有文件
os.getcwd() #获取当前工作目录
os.chdir() #切换目录
os.mkdir() #建立目录
os.path.exists() #判断路径存不存在
os.path.isdir() #判断是不是目录
os.path.join() #组合路径

2) 相对路径与绝对路径

一个点:当前目录,特殊名称,不是真的文件夹
两个点:父级目录
os.path.abspath('.') #显示绝对路径
os.path.isabs() #判读是不是绝对路径
os.path.relpath() #显示相对路径

3)命名管理

#路径各级名称
os.path.sep #路径分割符
os.path.basename() #获取文件名
os.path.dirname() #获取路径名
os.path.split(path) #分割路径和文件名
#('C:\\Users\\sothi\\Desktop\\py2018', '02-auto') os.path.splitext(path) #点号分割,可以获取后缀
#示例
os.path.split(r'C:\Users\sothi\Desktop\py2018\02-auto\test\1.pdf'
('C:\\Users\\sothi\\Desktop\\py2018\\02-auto\\test', '1.pdf')
os.path.splitext(r'C:\Users\sothi\Desktop\py2018\02-auto\test\1.pdf')
('C:\\Users\\sothi\\Desktop\\py2018\\02-auto\\test\\1', '.pdf')

4) 删除文件:操作有风险,删除需谨慎

os.unlink
shutil.rmtree(path) import shutil
shutil.rmtree('xxx') #复制/移动:shutil
shutil.copytree('../test', '../backup')
shutil.move('007', '009')

5) 只想要我要的文件格式

- 文件的属性
os.path.getsize #文件大小
os.path.isfile() #判断是不是文件
os.stat #文件信息:权限,大小,创建时间等
os.walk()
#
for root, dirs, files in os.walk('.'):
print(root, dirs, files)
- 后缀名
split #通过split切割
[-3:] #文件后缀一般是3个长度:比如.txt
re #通过正则匹配
endswith #通过endswith匹配后面字符串 #示例
# os.walk 遍历目录, 找到对应后缀名,并大小小于1M的文件
re_filename = re.compile('(.*pdf$)|(.*docx$)|(.*xls$)')
for root, dirs, files in os.walk('.'):
print(root, dirs, files)
for name in files:
file = os.path.join(root, name) # 根目录下的文件名
if re_filename.match(file) and os.path.getsize(file) < 1024*1024:
print(name)

python基础--管理目录与文件的更多相关文章

  1. Linux目录和文件——管理目录和文件的命令

    Linux目录和文件——管理目录和文件的命令 摘要:本文主要学习了Linux系统中关于目录和文件的操作. cd命令 cd命令用来切换工作目录,是Change Directory的缩写. 基本语法 cd ...

  2. Python基础教程目录

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python部分代码样例 老猿Python重难点知识博文汇总 老猿Python博客地址 第1章 Python学习环境构建目 ...

  3. python基础内容目录

    一  python基础 二  python基础数据类型 三  python文件操作及函数初识 四  python函数进阶 五  python装饰器 六  python迭代器与生成器 七  python ...

  4. python生成器 获取 目录下文件

    # os.walk()和os.list 都是得到所有文件的列表, 如果目录下文件特别多, 上亿了, 我们就需要生成器的方式获取 # 要求目录下面没有目录, 会递归到子目录下面找文件, (如果有子目录可 ...

  5. python之工作目录和文件引用

    1.参考 如何获得Python脚本所在目录的位置 Python 相对导入与绝对导入 还没细看 2.不考虑exe打包 sys.path[0] #顶层运行脚本的绝对目录 os.path.split(os. ...

  6. Python基础(字符编码与文件处理)

    一.了解字符编码的知识储备 1.计算机基础知识(三副图) 2.文本编辑器存取文件的原理(notepad++,Pycharm,word) 打开编辑器就启动了一个进程,是在内存中运行的,所以在编辑器写的内 ...

  7. Python基础(七)——文件和异常

    1.1 读取整个文件 我们可以创建一个 test.txt 并写入一些内容,使用 Python 读文件操作,读出文本内容. with open(r'E:\test.txt') as file_objec ...

  8. 『无为则无心』Python基础 — 44、对文件和文件夹的操作

    目录 1.os模块介绍 2.查看os模块相关文档 3.os模块常用方法 (1)文件重命名 (2)删除文件 (3)创建文件夹 (4)删除文件夹 (5)获取当前目录 (6)改变默认目录 (7)获取目录列表 ...

  9. python基础--字符编码以及文件操作

    字符编码: 1.运行程序的三个核心硬件:cpu.内存.硬盘 任何一个程序要是想要运算,肯定是先从硬盘加载到当前的内存中,然后cpu根据指定的指令去执行操作 2.python解释器运行一个py文件的步骤 ...

随机推荐

  1. 三.HashMap原理及实现学习总结

    HashMap是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构.本篇主要是从HashMap的工作原理,数据结构分析,HashMap存储和读取几个方面对其进行学习总结.关于Hash ...

  2. idea JRebe插件激活方法

    具体方法请看创始人博客及github

  3. Inline Route Constraints in ASP.NET Core MVC

    原文 ASP.NET MVC5和Web API2的一个新特性是attribute routing, 通过它我们可以使用[Route]来定义路由模板: public class MessagesCont ...

  4. mysql字符函数

    1.CONCAT()  字符连接 (1)mysql> SELECT CONCAT('imooc', 'MYSQL');+--------------------------+| CONCAT(' ...

  5. pycharm中创建包时加入的_init_.py文件及_all_的作用

    init__.py的主要作用是: 1. Python中package的标识,不能删除 2. 定义__all__用来模糊导入 3. 编写Python代码(不建议在__init__中写python模块,可 ...

  6. Django之CRM项目Day5-跳转页面 跟进记录 报名记录

    1 编辑和添加后跳转页面: 思路:写一个参数将路径的条件带上 注意:捋流程的时候从urls里开始 1.在crm文件夹下新建python包:templatetags,在包里新建url.py: from ...

  7. Spark On Yarn报警告信息 WARN yarn.Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME.

    1 贴出完整日志信息 // :: INFO client.RMProxy: Connecting to ResourceManager at hdp1/ // :: INFO yarn.Client: ...

  8. sqoop导数据

    1.添加oracle  jdbc驱动 https://blog.csdn.net/eason_oracle/article/details/76836758 2.

  9. python中用selenium调Firefox报错问题

    python在用selenium调Firefox时报错: Traceback (most recent call last):  File "G:\python_work\chapter11 ...

  10. 网络爬虫构造出URL的列表数据

    urls = ['http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(number) for number in range(1,14)] # ...