一,Python中获得当前目录和上级目录

获取当前文件的路径:

from os import path
d = path.dirname(__file__)  #返回当前文件所在的目录
# __file__ 为当前文件, 若果在ide中运行此行会报错,可改为  #d = path.dirname('.')

获得某个路径的父级目录:( 强烈建议使用该方法!可以逐层获取到根目录的地址,例如D:/)

parent_path = os.path.dirname(d) #获得d所在的目录,即d的父级目录
parent_path  = os.path.dirname(parent_path) ##获得parent_path所在的目录即parent_path的父级目录

获得规范的绝对路径:

abspath = path.abspath(d) #返回d所在目录规范的绝对路径

二,路径拼接

Python3 os.path.join()用法

功能描述:os.path.join()函数用于路径拼接文件路径。

语法:os.path.join(path1 [,path2 [,...]])

os.path.join()函数中可以传入多个路径:

1.会从第一个以“/”开头的参数开始拼接,之前的参数全部丢弃。

2.优先判定上一种情况。若无,则如果出现“./”开头的参数,会从“./”开头的参数的上一个参数开始拼接。

三,蟒蛇里面的相对路径与绝对路径

如例程所示:

os.path.abspath则则( '')可以获取当前脚本所在的路径,当我们需要在该目录下生成一些文件时,就可以用此命令获取脚本路径。

开放( 'test1.txt的的', 'R')以只读的形式打开该脚本所在路径下的名为test1.txt的的文件文档。

开放('E:/pythonMixture/test2.txt','R')以只读形式打开E:/ pythonMixture路径下的的test2.txt文档

由于字符“\”为蟒蛇中的字符串转义字符,所以:

open('E:/pythonMixture/test2.txt','r')这句等价于open('E:\\ pythonMixture \\ test2.txt','r')
--------- ----

四,实战截图

目的:为了验证E:/ CRMAutoTest001 \ pre_infoChannel.csv E:\ CRMAutoTest001 \ others \上层的测试文档

这两各包含“/”和“\”的地址组合,都是正确的路径。

所以后续遇到这两种写法,都是正确的。

再着重记忆一遍,代码第16行,当文件与脚本不在同一路径,绝对路径的规范写法:E:/pythonMixture/test2.txt

五、小结:

1.  os.path.join()函数用于路径拼接文件路径,这是主流常用的。 方法内部代码封装的完美,只要传入正确的两个路径即可。

2.按照MVC设计结构,相同功能的文件要存放在同个文件夹,当项目大了模块多时就会很好维护。

比如数据源文件,配置文件,公共方法文件,模块控制层文件等。

现在从事的项目,就不进行相对路径和绝对路径的优化,等新项目开始,再重新涉及开发。

3.因为项目的绝对路径都是以E盘根目录开始的,所以测试组小伙伴们从gitlab下载了仓库后,也要把仓库文件复制到E盘根目录,避免报错。

4. 后期要实现的效果,是:全都使用相对路径来配置各类地址。确保所有人从gitlab下载好的仓库文件,安装在哪个盘哪个位置都不会报地址错误(这也是为什么使用相对路径的最根本原因。)

转载于:https://www.cnblogs.com/xiamen-momo/p/10338669.html

python 相对路径和绝对路径的区别相关推荐

  1. python绝对路径的区别_python学习:绝对路径和相对路径

    大牛们应该对路径都很了解了,这篇文章主要给像我这样的入门小白普及常识用的,啊哈 下面的路径介绍针对windows,其他平台的暂时不是很了解. 在编写的py文件中打开文件的时候经常见到下面其中路径的表达 ...

  2. python分配问题_组队、路径分配问题建模案例 ✕ Gurobi 应用 | python3 实现

    1 前言 本文以两道经典建模题为例, 进一步介绍 Gurobi 与 Python 的交互, 以及其在建模中的应用. 阅读本文前, 建议读者先配置好 Gurobi 环境, 并且对数学建模有一定的认识 ( ...

  3. python相对路径和绝对路径总结

    Contents 1 当前工作目录 1.1 os.getcwd() 函数可用于获取当前工作目录 1.2 os.chdir() 函数可用于修改当前工作目录 1.3 os.listdir(path) 方法 ...

  4. python查看包的安装路径_查看python安装路径及pip安装的包列表及路径

    一.Linux系统 查看Python路径 whereis python 此命令将会列出系统所安装的所有版本的Python的路径效果如下: 使用以下命令可分别查看Python2,Python3的安装路径 ...

  5. python读取路径中相对路径_python 路径相关

    转自https://blog.csdn.net/databatman/article/details/49453953 下面的路径介绍针对windows,其他平台的暂时不是很了解. 在编写的py文件中 ...

  6. 用Python读取文件名和文件路径

    用Python读取文件名和文件路径 文件名 无限制 有限制 文件路径 无限制 有限制 实战 文件结构 文件名 无限制 输出所有的文件夹名和文件名 import os# 输出所有的文件夹名和文件名 pa ...

  7. python相对路径库_如何最简单、通俗地理解Python的搜索路径、相对路径、绝对路径?...

    目录: 一.笔记 二.我的自学路线 三.笔记目录 一.笔记 1) 搜索路径 ① 能导入模块的话,表示搜索路径中有这个模块文件. ② 当你导入一个模块,Python解析器对模块位置的搜索顺序是:1. 当 ...

  8. python导入自定义模块和路径问题

    文章目录 part one: 文件在同一个文件夹 1.函数调用 2.类调用 part two:文件在不同文件夹 1.在同一个目录 2.在任意目录:绝对路径 1.借助sys 2.借助path part ...

  9. href 里面 链接前面加/与不加的区别?(绝对路径与相对路径)

    在写href链接时,有绝对路径与相对路径,href 里面 链接前面加/与不加的区别? href="/cp/images/lis.jpg" 相对路径 cp前面/会获取当前路径,组合成 ...

最新文章

  1. Science: 多因子在驱动土壤功能及真菌群落变化中的作用
  2. 计算机程序设计员_第二届北京大工匠计算机程序设计员、网络与信息安全管理员挑战赛:一场互联网“战场”的巅峰对决...
  3. IM群聊消息如此复杂,如何保证不丢不重?
  4. 配置postfix+dovecot+mysql+postfixadmin+squirrelmail 邮件系统笔记
  5. 成吉思汗:“世界之鞭”还是“人类之王”?
  6. php mate,[树莓派] ubuntu-mate配置nginx + php7.0环境
  7. mysql generator备注_MyBatis Generator 自定义生成注释
  8. python oserror路径not found_python基本操作-文件、目录及路径
  9. img 居中_解决img标签下方出现的小空隙
  10. 中英文对照 —— 心理/神经科学
  11. 17.3加入知识的文本增强
  12. access日期如何增加年数_MATLAB的时间与日期
  13. Serializer序列化器----反序列化使用
  14. oracle的odac dll,.NET2.0中施用最少的ODAC动态库文件连接Oracle数据库
  15. 太阳系(Python)
  16. 成功转行IT软件测试,已在职3年月薪2w,分享下我本科毕业2年后转行的经历
  17. java ODBC连接MYSQL数据库
  18. 期刊投稿状态_SCI期刊投稿各种状态详解
  19. 【完结版】哥大五年CV岁月:只有开心,才能做出有影响力的工作
  20. CynosDB 与传统数据库有什么不同?CynosDB 的兼容性怎么样?

热门文章

  1. win10如何更改mysql的密码
  2. C语言实现10只小猪称体重
  3. [技术讨论]多点矩阵控制系统
  4. BearPi-HM_Nano开发板WiFi编程开发——UDP客户端
  5. ant java macrodef_Ant之 ZipException And Taskdef And MacroDef——“宏”
  6. Java Swing编程中对图片的编辑
  7. (附源码)SSM养老院管理信息系统JAVA计算机毕业设计项目
  8. 辛苦整理SBM模型Matlab工具包资料
  9. 华大单片机KEIL添加ST-LINK解决方法
  10. 保边滤波之引导滤波与领域转换滤波