python的os模块基本使用
1、os.path.abspath(__file__)用法及意義
os.path.abspath(__file__) 作用: 獲取當(dāng)前腳本的完整路徑 import os print(os.path.abspath(__file__) )result:
注意:
只有當(dāng)在腳本中執(zhí)行的時(shí)候,os.path.abspath(__file__)才會起作用,因?yàn)樵撁钍谦@取的當(dāng)前執(zhí)行腳本的完整路徑,如果在交互模式或者terminate 終端中運(yùn)行會報(bào)沒有__file__這個(gè)錯(cuò)誤:
>>> 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)
可以得到一個(gè)三元tupple(dirpath, dirnames, filenames),
第一個(gè)為起始路徑,第二個(gè)為起始路徑下的文件夾,第三個(gè)是起始路徑下的文件。
- dirpath 是一個(gè)string,代表目錄的路徑,
- dirnames 是一個(gè)list,包含了dirpath下所有子目錄的名字。
- filenames 是一個(gè)list,包含了非目錄文件的名字。
這些名字不包含路徑信息,如果需要得到全路徑,需要使用os.path.join(dirpath, name).。
通過for循環(huán)自動完成遞歸枚舉
例如:
F:\aaa 目錄是這樣的文件目錄結(jié)構(gòu)
分別打印各個(gè)參數(shù)的實(shí)際值:
4、os.path.split()和os.path.splitext()的使用
1. os.path.split(‘path’):按照路徑將文件名和路徑分割開
import ospath = 'E:\PyEVM-master\PyEVM-master\CASME2_MAG_PIC\sub01' #返回路徑和文件名 dirName,fileName = os.path.split(path) print('dirName is',dirName) print('fileName is',fileName)結(jié)果:
dirname is E:\PyEVM-master\PyEVM-master\CASME2_MAG_PIC filename is sub012. os.path.splitext()將文件名和擴(kuò)展名分開?
path = 'E:/yEVM-master/PyEVM-master/CASME2_MAG_PIC/sub01/text.py' #返回文件名和擴(kuò)展名 fileName,extensionName = os.path.splitext(path) print('fileName is',fileName) print('extensionName is',extensionName)結(jié)果:
fileName is E:/yEVM-master/PyEVM-master/CASME2_MAG_PIC/sub01/text extensionName is .py5、os.sep用法
python是跨平臺的。在Windows上,文件的路徑分隔符是'\',在Linux上是'/'。
為了讓代碼在不同的平臺上都能運(yùn)行,那么路徑應(yīng)該寫'\'還是'/'呢?
使用os.sep的話,就不用考慮這個(gè)了,os.sep根據(jù)你所處的平臺,自動采用相應(yīng)的分隔符號。
舉例
Linux下一個(gè)路徑,/usr/share/python,那么上面的os.sep就是‘/’
windows下一個(gè)路徑,C:\Users\Public\Desktop,那么上面的os.sep就是‘\’.
data_dir = os.sep.join(['hello', 'world'])???
總結(jié)
以上是生活随笔為你收集整理的python的os模块基本使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RobotFramework自动化框架—
- 下一篇: 【AI测试】机器学习项目的测试,算法测试