13python的路径处理
Posted miki的测试笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13python的路径处理相关的知识,希望对你有一定的参考价值。
前言:本文主要介绍python中路径的处理,包括os模块和有关的2个魔法变量。
一、os模块
python里面的os模块有许多方法可以让我们通过代码实现创建,删除和更改目录,具体如下:
- os.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.chdir(path):将当前工作目录更改为指定路径
- os.rename(name,newname):修改文件各字
还有更多的方法有兴趣请自行百度,以下是一些用法参考:
import time import os import sys # sys.path是python的搜索模块的路径集,用list存放 # 导入的包的搜索路径顺序按sys.path一个个往下找,如果在这些路径下都找不到这个包,就会报错 # 可以通过append()给它增加要使用的包的路径, # for i in sys.path: # print(i) # os模块:对操作系统进行操作的一系列动作都在os模块里 # 获取当前工作路径,只具体到路径,不具体到文件名 print(os.getcwd()) # 获取当前文件在操作系统中的绝对路径,具体到文件名 print(__file__) # 查看指定文件在系统中的绝对路径 print(os.path.realpath(\'test\')) print(os.path.realpath(__file__)) # os.path.join 拼接路径 path_01 = \'d:\\learn\' path_02 = os.path.join(path_01, \'python\') print(path_02) # os.mkdir() :创建目录(文件夹) # os.mkdir(\'test\') # os.rmdir() :删除目录(只能删除空目录),如果目录下有文件,会报错 ,非空目录怎么删除,思考一下? # os.rmdir(\'test\') # 默认返回当前路径下的所有文件和目录信息,以列表形式返回 print(os.listdir()) print(os.listdir(\'d:\\learn\\test\')) # os.path.isfile():判断当前文件是否是文件,返回布尔值 不传入路径默认搜索当前路径 # os.path.isdir():判断当前文件是否是文件,返回布尔值 print(os.path.isfile(\'task.py\')) print(os.path.isdir(\'test\')) # od.chdir():切换当前工作路径 # print(os.getcwd()) # os.chdir(\'d:\\learn\') # print(os.getcwd()) # 修改文件名 # os.rename(\'test.py\',\'test2.py\') # 返回上一级的目录 dir = __file__ print(os.path.dirname(dir))
二、魔法变量
什么是魔方变量?前后双下划线,系统定义名字(这就是在python中强大的魔法方法),因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格,下面介绍python中的2个魔法变量。
1) __file__ : 代表当前文件的绝对路径
import os # 魔术变量的操作 # print(\'当前运行文件中打印的__name__:\',__name__) # 路径的处理 print(__file__) # 自动化测试项目,用到的路径基本会使用相对路径 # 这样不管项目放到哪个环境都能正常运行 # 获取文件/目录所在的父级目录 dir = os.path.dirname(__file__) print(dir) BASEDIR = os.path.dirname(dir) print(BASEDIR) # 这就是test.py的相对路径,而不是d:\\python\\test\\test.py绝对路径 file_path = os.path.join(BASEDIR, "test.py") print(file_path)
以上是关于13python的路径处理的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 多处理进程中运行较慢的 OpenCV 代码片段
你如何在 python 中处理 graphql 查询和片段?
Python代码阅读(第13篇):检测列表中的元素是否都一样
PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段