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. 判断闰年(Java)

    package day01; import java.util.Scanner; public class leap_year { public static void main (String[] ...

  2. Spring使用事务增加的注解实现方

    以下是我的文件结构 步骤1:配置数据源 <bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDa ...

  3. 20155324 2016-2017-2 《Java程序设计》第十周学习总结

    20155324 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. ...

  4. tensorflow faster rcnn 代码分析一 demo.py

    os.environ["CUDA_VISIBLE_DEVICES"]=2 # 设置使用的GPU tfconfig=tf.ConfigProto(allow_soft_placeme ...

  5. 迅为开发板4412开发板-ANROID系统的烧写方法分享

    详情了解: http://topeetboard.com   更多了解:https://arm-board.taobao.com 一.OTG接口烧写方式 通过该方式可以烧写 Android4.0.3 ...

  6. vue运行说明

    1.cd 到demo里面 如:cd vuedemo(项目名) 2.安装依赖: npm install 3.运行项目 npm run dev

  7. Java之@SuppressWarnings

    用了这个,MyEclipse里就不会报那些警告了,看起来漂亮多了 常用的:@SuppressWarnings("unchecked"),泛型@SuppressWarnings(&q ...

  8. UOJ #276「清华集训2016」汽水

    为什么你们常数都这么小啊 UOJ #276 题意:在树上找一条链使得|边权平均值$ -k$|尽量小,$ n<=5e4$ $ Solution:$ 首先二分答案$ ans$,即我们需要找一条链使得 ...

  9. Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;

    运行tomat  报错: Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Lj ...

  10. #6278. 数列分块入门 2(询问区间内小于某个值 xx 的元素个数)

    题目链接:https://loj.ac/problem/6278 题目大意:中文题目 具体思路:数列分块模板题,对于更新的时候,我们通过一个辅助数组来进行,对于原始的数组,我们只是用来加减,然后这个辅 ...