Python3 目录操作

常见的目录操作:

显示当前目录

切换目录

新建、删除目录、移动、复制

显示目录内容

判断目录、文件是否存在

目录操作常用的函数如下:

os.listdir() # 列出目录下的内容

os.getcwd() # 显示当前工作路径

os.chdir() # 切换工作目录

os.mkdir() # 新建目录

os.path.exists() # 判断目录是否存在

os.path.isdir() # 判断是否是目录

示例代码1:

#!/usr/bin/python3

import os

test_path = r'D:\\python'

print(os.listdir(test_path))

输出内容为一个列表,由于内容太多这里暂不贴出了

示例代码2:

#!/usr/bin/python3

import os

print(os.getcwd()) # 获取当前工作目录

os.chdir('..') # 切换目录

print(os.getcwd())

os.mkdir('testdir') #创建路径

print(os.listdir())

输出:

'D:\python\jupyter'

'D:\python'

['.ipynb_checkpoints',

'bak',

'jupyter',

'project',

'test.txt',

'testdir',

'Untitled.ipynb',

]

路径就是一条字符串

左右斜线

os.path.join()

os.path.exists()

os.path.isdir()

示例代码:

#!/usr/bin/python3

import os

url1 = os.path.join('a', 'b') # 路径拼接

print(url1)

print(os.path.exists(r'D:\python')) # 判断路径存不存在

print(os.path.isdir(r'D:\python')) # 判断是否是路径

输出:

'a\b'

True

True

相对路径与绝对路径

os.path.abspath()

os.path.isabs()

os.path.relpath()

示例代码:

#!/usr/bin/python3

import os

url1 = os.path.abspath('.') # 得到.的绝对路径

print(url1)

print(os.path.isabs('.')) # 判断是否是绝对路径

url2 = os.path.relpath('testdir', 'D:\python\testdir') # 得到testdir的相对路径

print(url2)

输出:

'D:\python'

False

'..\python\testdir'

命名管理

路径各级名称

path.split(os.path.sep) 前边的path是指的是一个变量

os.path.basename()

os.path.dirname()

删除文件shutil模块

os.unlink

shutil.rmtree(path)

复制、移动

copy

copytree

move

示例代码1:

#!/usr/bin/python3

import os

dirname = r'D:\python\testdir'

print(os.path.sep) # 显示路径分隔符

namelist = dirname.split(os.path.sep)

print(namelist)

namelist1 = os.path.split(dirname) # 用最后的一个分隔符分开

print(namelist1)

filename = os.path.splitext(r'D:\python\xx.py') # 能取到目录下文件的后缀名

print(filename)

urlname = os.path.basename(dirname) # 找到最后一个目录的名字

print(urlname)

filename1 = os.path.basename(r'D:\python\xx.txt') # 还可以取到文件名

print(filename1)

urlname1 = os.path.dirname(path) # 取除最后一个目录之前的部分

print(urlname1)

输出:

'\'

['D:', 'python', 'testdir']

('D:\python', 'testdir')

('D:\python\*', '.py')

'testdir'

'xx.txt'

'D:\python'

示例代码2:

#!/usr/bin/python3

import os

import shutil

os.unlink(r'D:\python\xx.txt') # 删除文件xx.txt

shutil.rmtree('testdir') # 删除testdir目录

shutil.copytree('./test', './test1') # 复制目录

shutil.copy('./ss.txt', './ss1.txt') # 复制文件

shutil.move('./ss1.txt', 'ss2.txt') # 移动(重命名)文件

只要我想要的文件格式

文件属性

os.path.getsize()

os.path.isfile()

os.stat()

后缀名

split

[-3:]

re

endswith

示例代码1:

#!/usr/bin/python3

import os

filename = r'D:\python\test.py'

os.path.getsize(filename)/1024 # 查看文件大小,以字节为单位

dirname = r'D:\python' # 获取目录的大小

os.path.getsize(dirname)/1024

os.path.isfile(filename) # 判断是否为文件

os.stat(filename) # 查看文件属性

filename[-3:] # 找后缀名,不通用

os.path.splitext(filename) # 取后缀名

filename.endswith('.py') # 是否以.py结尾

示例代码2:

#!/usr/bin/python3

import os

import re

# 以正则表达式取后缀名

filename = r'D:\python\test.py'

os.chdir('D:/python')

re_filename = re.compile('(.*py$)')

name = re_filename.match(filename).group()

print(name)

# os.walk 遍历目录,找到对应.py的后缀名

for root, dirs, files in os.walk(r'D:\python'):

for name in files:

file = os.path.join(root,name)

if re_filename.match(file):

print(name)

压缩备份文件

使用zipfile

创建压缩文件

查看信息

解压缩

示例代码:

#!/usr/bin/python3

import os

import zipfile

os.chdir('test')

my_zip = zipfile.ZipFile('bak.zip', 'w') # 创建一个bak.zip

my_zip.write('ss.txt', compress_type=zipfile.ZIP_DEFLATED) # 向bak.zip中添加文件

my_zip.write('ss2.txt', compress_type=zipfile.ZIP_DEFLATED) # 添加文件

my_zip.close() # 关闭bak.zip文件

# 查看

aa = zipfile.ZipFile('bak.zip')

aa.namelist() #查看压缩文件中的内容

aa.getinfo('ss.txt') # 查看压缩文件中内容的属性

aa.close()

# 解压缩

xx = zipfile.ZipFile('bak1.zip')

xx.extractall('../test1') # 解压到上一级目录

xx.close()

python目录操作函数_Python3目录操作相关推荐

  1. python中对文件、文件夹(文件操作函数)的操作

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  2. python常用导入函数及其他操作备忘录

    python常用导入函数及其他操作备忘录 python常用导入函数 解压缩zip并读取csv文件 查看缺失值 权重系数取绝对值后排序(查看特征权重重要度) python常用导入函数 from IPyt ...

  3. 字符串转内存c语言,【一起学C】C语言面试题必考:字符串操作函数,内存操作函数实现...

    本帖最后由 奉聪 于 2017-1-25 14:54 编辑 *******前言******* 我数一下,我发了几个帖子,1.2.3? 哈哈哈,没几个哈,感谢吾爱,让我学到了很多,乐于分享,共同进步! ...

  4. python中mktime函数_Python3 time mktime()方法

    Python3 time mktime()方法 描述 Python time mktime() 函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数 ...

  5. Hive常用函数(日期函数,取整函数,字符串操作函数,集合操作函数)

    常用函数 常用日期函数 常用取整函数 常用字符串操作函数 集合操作函数 多维分析 常用日期函数 unix_timestamp:返回当前或指定时间的时间戳 select unix_timestamp() ...

  6. python中exp函数_Python3中exp()函数用法分析

    python中虚数函数exp怎么表示 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型 虚数函数exp用math是不行的要用cmat ...

  7. python的excel函数_Python3 内置函数及excel操作

    exec是通过命令行执行,类似于print exec和eval的区别: 1.eval有返回值,exce没有返回值 2.eval不可以执行复杂代码 会报错,但是exec可以执行复杂代码 python一些 ...

  8. python 集合、函数、文件操作

    集合 一.集合的特性 无序,不重复 二.集合的创建方法 1. 大括号 >>> s = {11, 22, 33, 11} >>> s {33, 11, 22} 2.初 ...

  9. python延时us函数_Python延时操作实现方法示例

    本文实例讲述了Python延时操作实现方法.分享给大家供大家参考,具体如下: 在日常的开发中,往往会遇到这样的需求,需要某一个函数在一段时间之后才执行以达到某种特定的效果.此时,我们就需要某种机制,使 ...

最新文章

  1. Augmented World Expo(AWE)重磅来袭!
  2. 中加减乘除_【泓泰花园】精雕细琢的好房子,加减乘除里都是幸福
  3. imx6 板卡移植官方yocto版本(2_定制系统)
  4. java设计模式之委派模式
  5. python可以提高程序执行速度N倍你知道吗?
  6. 普通话测试系统_普通话
  7. Android串口通信apk源码
  8. Java中重定向,转发深入理解 2021-04-26
  9. LuoguP4012 深海机器人问题(费用流)
  10. GetTickCount
  11. MAC 及 Python 快捷键
  12. 解决Not all parameters were used in the SQL statement问题
  13. 网卡的HWADDR和MACADDR的区别?
  14. cad帧数测试软件,CAD打开很卡该怎么办?快速提高cad运行速度的技巧
  15. js-函数式编程-柯里化和语义化
  16. 人话版GPL 2.0协议
  17. nyoj_71 独木舟上的旅行
  18. JCL新手入门学习教程(1) 2021-02-09
  19. 机器学习 线性回归算法_探索机器学习算法简单线性回归
  20. 反素数(反转拼写的素数)

热门文章

  1. 51Nod-1182 完美字符串【排序+字符统计】
  2. jdk 反汇编工具—— javap
  3. Xavier Initialization 的理解与推导(及实现)
  4. 计算广告(computational advertising)
  5. 离散时间信号常见函数的实现(matlab)
  6. 说文解字 —— 汉字的构成及语义的变化
  7. 面向项目(十一)—— 库的使用
  8. 工具的使用——Photoshop
  9. C++基础——一些细节、常犯错误的汇总
  10. plantuml最大宽度_设置TH最小和最大宽度非常缓慢