美文网首页
2021-02-20python之os模块介绍

2021-02-20python之os模块介绍

作者: testerPM | 来源:发表于2021-02-21 12:16 被阅读0次

python里面的os模块有许多方法让我们通过代码实现创建,删除和更改木目录。具体罗列如下:
os.getcwd():getcwd()方法用来获取当前的工作路径,只具体到路径,不具体到文件。
os.path.realpath(path):返回path的真实路径,如果参数是:file就说明是本文件所在的绝对路径

os.path.join(a,b):连接两个部分的路径,组成一个完整的路径
os.mkdir(路径名字):在某个目录下创建一个新目录
os.rmdir(路径名字):删掉一个目录
os.listdir():获取当前路径下的目录列表,返回列表格式数据
os.path.isdir:判断当前文件是否是目录,返回布尔值
os.path.isfile:判断当前文件是否是文件,返回布尔值
os.path.split(路径):拆分路径,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名,返回元组格式数据
os.path.splitext(路径):可以直接让你得到文件扩展名,很多时候非常方便。
os.path.exists():函数用来检验给出的路径是否真实存在
os.path.dirname(path):返回文件路径
os.path.basename(path):返回文件名字

示例演示

(1)比如此路径下有一个Python4的项目
C:\Users\20489\PycharmProjects\Python4

在Python4项目下创建一个文件:IO_4.py,代码如下:

__author__='20489'
import os
print(os.getcwd())
print(os.path.realpath(__file__))

执行结果如下:
C:\Users\20489\PycharmProjects\Python4
C:\Users\20489\PycharmProjects\Python4\IO_4.py

二者区别:
os.getcwd()用来获取当前文件所在的工作目录
os.path.realpath(file)用来显示当前正在操作的是哪个文件

(2)依然在IO_4.py中操作

__author__='20489'
import os
#获取IO_4.py文件的工作路径
now_dir=os.getcwd()
#在now_dir路径下再创建子文件夹
new_dir=os.path.join(now_dir,'dalong')#这里只是生成一个新的路径,并没有创建dalong这个文件夹
os.mkdir(new_dir)

总结:os.path.join()和os.mkdir()通常一起结合用

(3)依然在IO_4.py中操作

__author__='20489'
import os
#获取当前路径下的所有文件(包括文件夹,文件,隐藏文件等所有文件都显示出来,返回的是一个list列表
print(os.listdir())
打印结果:
#C:\Users\20489\PycharmProjects\Python4此目录下的所有文件,如:
[OI_4.py,dalong,image.jpg]

(4) 依然在IO_4.py中操做
需求:是文件就删除,不是文件就不删除
1)目录判断

import  os
print(os.listdir())#结果:['.idea', 'helloworld.txt', 'IO_4.py', 'test', 'venv']
print(os.path.isdir("E:/pythonProject"))#结果:True
print(os.path.isdir("E:\\pythonProject"))#结果:True
print(os.path.isdir("pythonProject"))#结果:False 因为:不是绝对路径,默认判断与IO_4.py同级的目录下pythonProject是不是目录
print(os.path.isdir("test"))#结果:True
print(os.path.isdir("E:\\pythonProject\\test"))#结果:True
print(os.path.isdir("E:\\pythonProject\\IO_4"))#结果:False
print(os.path.isdir("IO_4.py"))#结果:False

image.png

2)文件判断

import  os
print(os.listdir())
#文件判断
print(os.path.isfile("E:\\pythonProject\\IO_4.py"))
print(os.path.isfile("IO_4.py"))
结果:
E:\pythonProject\venv\Scripts\python.exe E:/pythonProject/IO_4.py
['.idea', 'helloworld.txt', 'IO_4.py', 'test', 'venv']
True
True

Process finished with exit code 0

(5)os.path.split()

os.path.split(路径):拆分路径,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名,返回元组格式数据

import  os
#获取当前正在操做的文件路径
dir=os.path.realpath(__file__)
print(dir)
result1=os.path.split(dir)
print(result1)
result2=os.path.split("E:\\cpic\\cpicapp\\upload")
print(result2)
print(type(result2))
打印结果:
E:\pythonProject\venv\Scripts\python.exe E:/pythonProject/IO_4.py
E:\pythonProject\IO_4.py
('E:\\pythonProject', 'IO_4.py')
('E:\\cpic\\cpicapp', 'upload')
<class 'tuple'>

Process finished with exit code 0


总结:os.path.split(),路径拆分,默认从最后一个开始切分,将最后一个目录或者文件单独拆分出来

(4)判断路径或者文件是否存在

import  os
#获取当前文件所在目录下的所有目录列表(包括目录,文件,隐藏文件)
print(os.listdir())
#获取当前正在操做的文件路径
dir=os.path.realpath(__file__)
print(os.path.exists(dir))
print(os.path.exists("E:\\pythonProject"))

打印结果:

E:\pythonProject\venv\Scripts\python.exe E:/pythonProject/IO_4.py
['.idea', 'helloworld.txt', 'IO_4.py', 'test', 'venv']
True
True

Process finished with exit code 0

相关文章

  • 2021-02-20python之os模块介绍

    python里面的os模块有许多方法让我们通过代码实现创建,删除和更改木目录。具体罗列如下:os.getcwd()...

  • 如何自动导入子模块下的services 包

    os 模块 解决如果自动导包,首先介绍下os 模块

  • Lesson 032 —— os 模块

    Lesson 032 —— os 模块 关于 os 模块的一些方法介绍。os模块是与操作系统交互的一个接口. os...

  • os+sys

    python模块之os、sys os+sys:官方文档是最好的模块表达说明。 1、os os模块是与操作系统交互的...

  • Python常用模块

    Python常用模块之time模块 Python常用模块之os模块 Python常用模块之sys模块 Python...

  • python:os模块

    一、os介绍 os模块主要是对操作执行执行操作,导入方法:import os 二、os.path模块的基本操作 1...

  • 【Python爬虫】os.path方法

    一、介绍下os.path方法常用方法: 没有介绍的可以参考 python os.path模块Ensample: ...

  • Python ☞ day 6

    Python学习笔记之 os模块 & 递归函数 & 栈 & 队列 os模块:包含了普遍的操作系统的功能 有些方法存...

  • 异常

    今天学习了os模块中的一些操作,常用模块有: os模块 os.path模块 shutil模块 ...

  • python内置os.path模块

    python内置os.path模块 os.path os.path 模块 是 os模块下的一个子模块,同样用于目录...

网友评论

      本文标题:2021-02-20python之os模块介绍

      本文链接:https://www.haomeiwen.com/subject/ziytfltx.html