python的os模块基本使用

1、os.path.abspath(__file__)用法及意义

os.path.abspath(__file__) 作用: 获取当前脚本的完整路径
import os
print(os.path.abspath(__file__)  )

result:

注意:

只有当在脚本中执行的时候,os.path.abspath(__file__)才会起作用,因为该命令是获取的当前执行脚本的完整路径,如果在交互模式或者terminate 终端中运行会报没有__file__这个错误:

>>> import os
>>> cur_path = os.path.dirname(os.path.abspath(__file__))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name '__file__' is not defined
>>>

2、os.listdir() 方法

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。

3、os.walk()方法 

os.walk()用类似于深度遍历的方式遍历文件夹中的子文件夹以及文件

os.walk(top, topdown=True, =None, followlinks=False)

可以得到一个三元tupple(dirpath, dirnames, filenames),

第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。

  • dirpath 是一个string,代表目录的路径,
  • dirnames 是一个list,包含了dirpath下所有子目录的名字。
  • filenames 是一个list,包含了非目录文件的名字。

这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).。

通过for循环自动完成递归枚举

例如:

F:\aaa 目录是这样的文件目录结构

分别打印各个参数的实际值:

4、os.path.split()和os.path.splitext()的使用

1. os.path.split(‘path’):按照路径将文件名和路径分割开

import os

path = 'E:\PyEVM-master\PyEVM-master\CASME2_MAG_PIC\sub01'
#返回路径和文件名
dirName,fileName = os.path.split(path)
print('dirName is',dirName)
print('fileName is',fileName)

结果:

dirname is E:\PyEVM-master\PyEVM-master\CASME2_MAG_PIC
filename is sub01

2. os.path.splitext()将文件名和扩展名分开 

path = 'E:/yEVM-master/PyEVM-master/CASME2_MAG_PIC/sub01/text.py'
#返回文件名和扩展名
fileName,extensionName = os.path.splitext(path)
print('fileName is',fileName)
print('extensionName is',extensionName)

结果:

fileName is E:/yEVM-master/PyEVM-master/CASME2_MAG_PIC/sub01/text
extensionName is .py

5、os.sep用法

python是跨平台的。在Windows上,文件的路径分隔符是'\',在Linux上是'/'

为了让代码在不同的平台上都能运行,那么路径应该写'\'还是'/'呢?

使用os.sep的话,就不用考虑这个了,os.sep根据你所处的平台,自动采用相应的分隔符号

举例

Linux下一个路径,/usr/share/python,那么上面的os.sep就是‘/’

windows下一个路径,C:\Users\Public\Desktop,那么上面的os.sep就是‘\’.

data_dir = os.sep.join(['hello', 'world'])   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值