python 相对路径和绝对路径的区别

一,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

时间: 2024-08-28 21:23:37

python 相对路径和绝对路径的区别的相关文章

Python中的绝对路径和相对路径

大牛们应该对路径都很了解了,这篇文章主要给像我这样的入门小白普及常识用的,啊哈 下面的路径介绍针对windows,其他平台的暂时不是很了解. 在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式: [python] view plain copy open('aaa.txt') open('/data/bbb.txt') open('D:\\user\\ccc.txt') 这三种表达式里面,前两个都是相对路径,第三个则是绝对路径.绝对路径比较好理解,就是最完整的路径,相对路径的相对则是

Python 安装模块 & 模块搜索路径

1.1   安装模块 1.1.1   安装第三方模块 第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Pillow的名称叫Pillow pip install Pillow 1.1.2   模块搜索路径 当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错: >>> import mymodule Traceback (most recent c

为Python添加默认模块搜索路径

为Python添加默认模块搜索路径 方法一:函数添加 1) import sys 2) 查看sys.path 3) 添加sys.path.append("c:\\") 方法二:修改环境变量 windows用户可以修改系统环境变量PYTHONPATH 方法三:增加.pth文件,推荐! 在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了. 1) windows c:\python27\site-pack

为Python加入默认模块搜索路径

为Python加入默认模块搜索路径 方法一:函数加入 1) import sys 2) 查看sys.path 3) 加入sys.path.append("c:\\") 方法二:改动环境变量 windows用户能够改动系统环境变量PYTHONPATH 方法三:添加.pth文件,推荐! 在site-packages加入一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的文件夹名称就是了. 1) windows c:\python27\site-pac

网页制作中绝对路径和相对路径的区别

网页制作中绝对路径和相对路径的区别 http://www.veryhuo.com 烈火网 2012-10-10 投递稿件 做个开发的人,对于文件或者文件夹的定义都是有一定的规范的,比如建立一个网站前端设计,要建立的文件夹有css,js,images,swf等等,如图: 很多文件之下单个页面的连接,文件引用的时候就需要对路径这个问题有一定的了解:或者对php 网络程序开发有了解的程序员都会对define和include结合定义变量路径和引用的有很多见解. 比如: define('ROOT_PATH

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

在写href链接时,有绝对路径与相对路径,href 里面 链接前面加/与不加的区别? href="/cp/images/lis.jpg" 相对路径 cp前面/会获取当前路径,组合成一个完整路径 去定位资源 href="cp/images/lis.jpg" 绝对路径 直接上cp/images/lis.jpg 去定位资源 href="http://www.lib.com/cp/images/lib.png" 绝对路径

相对路径和绝对路径的区别,java获取项目访问路径的方法

相对路径和绝对路径的区别 在HTML里只要涉及文件的地方(如超级链接.图片等)就会涉及绝对路径与相对路径的概念. 1.绝对路径 绝对路径是指文件在硬盘上真正存在的路径.例如"bg.jpg"这个图片是存放在硬盘的"E:\book\网页布局代码\第2章"目录下,那么 "bg.jpg"这个图片的绝对路径就是"E:\book\网页布\代码\第2章\bg.jpg".那么如果要使用绝对路径指定网页的背景图片就应该使用 以下语句: <

用python做采集时相对路径转换成绝对路径

采集时,有时候需要采集图片,但某些网站的图片提供的相对地址,最好转换成绝对地址 在scrapy中有如下的解决策略 http://stackoverflow.com/questions/6499603/python-scrapy-convert-relative-paths-to-absolute-paths http://stackoverflow.com/questions/19970015/scrapy-item-loader-to-get-a-absolute-url-from-extra

URI和URL区别以及相对路径和绝对路径的区别

一.URL和URI定义: 1.URL是全球资源定位符的英文所写,您平时上网时在IE浏览器中输入的那个地址就是URL.比如:网易 http://www.163.com就是一个URL. 2.URI是Web上可用的每种资源 - HTML文档.图像.视频片段.程序,由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位. URL的格式由下列三部分组成: 第一部分是协议(或称为服务方式); 第二部分是存有该资源的主机IP地址(有时也包括端