python之IO目录处理
Posted 云烟三渺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之IO目录处理相关的知识,希望对你有一定的参考价值。
IO目录处理
在使用io常用函数之前,必须要在py文件头部import os。os是(Operation system)的缩写,意思就是系统操作。
1. 创建删除目录
1 #!/usr/bin/python3 2 # -*- coding: utf-8 -*- 3 # @Time :2018/11/29 15:27 4 # @Author :Yosef 5 # @Email :wurz529@foxmail.com 6 # @File: :class32.py 7 # @Software :PyCharm Community Edition 8 import os 9 \'\'\' 10 创建目录,而非创建文件 11 创建文件,参考open中的model,删除文件则用到os.remove 12 \'\'\' 13 # os.mkdir("../python_io/") # make directory 创建一个目录 14 # os.rmdir("../python_io") # remove directory 删除一个目录 15 16 file = open("../python_io/testio.txt", "w", encoding="UTF-8") # 创建文件不要加上不存在的目录,否则报错;目录存在则创建文件成功 17 file.close() 18 os.remove("../python_io/testio.txt")
我创建删除目录,文件都是成功的。筒子们自己试一下。
2. 寻找目录/文件路径
1 #!/usr/bin/python3 2 # -*- coding: utf-8 -*- 3 # @Time :2018/11/30 10:26 4 # @Author :Yosef 5 # @Email :wurz529@foxmail.com 6 # @File: :class33.py 7 # @Software :PyCharm Community Edition 8 import os 9 path=os.getcwd() #E:\\python_workspace\\StudyPython\\os 10 print(path) 11 12 path=os.path.dirname(__file__) #E:/python_workspace/StudyPython/os 13 print(path) 14 15 path=os.path.realpath(__file__) # E:\\python_workspace\\StudyPython\\os\\class33.py 16 print(path) 17 18 path=os.path.basename(__file__) # class33.py 19 print(path)
结果对比:
3. 目录路径的其他操作
3.1 文件路径拼接
os.path.join(a,b) a:py文件的同级目录,b新建的文件目录。新建只能一级一级的新建。拼接路径的时候,不能跨过不存在的路径,直接去新建一层的目录。
1 import os 2 3 new_file = os.path.join("sub_001", "test") # join(a,b) 4 print(new_file) 5 os.mkdir(new_file)
结果:
3.2 os.path.isdir / os.path.isfile 判断是否是目录,是否是文件
1 #!/usr/bin/python3 2 # -*- coding: utf-8 -*- 3 # @Time :2018/11/30 14:13 4 # @Author :Yosef 5 # @Email :wurz529@foxmail.com 6 # @File: :class34.py 7 # @Software :PyCharm Community Edition 8 import os 9 path = os.getcwd() 10 print(os.path.isdir(path)) 11 12 file = os.getcwd()+"/class34.py" 13 print(os.path.isfile(file))
3.3 os.path.split() 目录分割
这个函数方法可以把切割路径,最后一层目录独立成为一个元素,返回结果是含有两个元素的元组。
参数说明:
- PATH指一个文件的全路径作为参数:
- 如果给出的是一个目录和文件名,则输出路径和文件名
- 如果给出的是一个目录名,则输出路径和为空文件名
实际上,该函数的分割并不智能,它仅仅是以 "PATH" 中最后一个 \'/\' 作为分隔符,分隔后,将索引为0的视为目录(路径),将索引为1的视为文件名,如:
>>> import os
>>> os.path.split(\'C:/soft/python/test.py\')
(\'C:/soft/python\', \'test.py\')
>>> os.path.split(\'C:/soft/python/test\')
(\'C:/soft/python\', \'test\')
>>> os.path.split(\'C:/soft/python/\')
(\'C:/soft/python\', \'\')
3.4 os.listdir() 列出目录下所有文件名
这个函数的作用是列出目录下所有的文件,返回结果是列表。
1 import os 2 path = os.getcwd() 3 # path = os.path.realpath(__file__) 4 # print(os.path.split(path)) 5 print(os.listdir(path))
结果如下:
以上是关于python之IO目录处理的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 多处理进程中运行较慢的 OpenCV 代码片段