Python3目录操作
2018-07-01 17:55
561 查看
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拾遗】目录操作
- Python 操作文件及目录(转)
- [Python进阶-7]文件和目录的IO操作,以及json序列化和反序列化
- 【Python学习笔记】IO编程:操作文件和目录
- Python 文件目录操作
- python操作文件目录
- python 目录操作
- python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改
- Python 文件与目录操作 .
- Python文件及目录操作实例详解
- python|编写Android.mk|文件目录操作
- Python基础-操作文件和目录
- python 文件、目录操作(新增、移动、删除等)
- python学习笔记 操作文件和目录
- python 操作windows下的目录
- python操作文件和目录
- Python文件或目录操作的常用函数
- python目录操作一
- python:目录与文件操作
- python知识点8--目录操作及时间