如何表示python中的相对路径

下面的路径介绍针对windows在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式:

open('aaa.txt')
open('/data/bbb.txt')
open('D:\\user\\ccc.txt')

这三种表达式里面,前两个都是相对路径,第三个则是绝对路径。绝对路径比较好理解,就是最完整的路径,相对路径的相对则是不完整路径,这个相对指的就是相对于当前文件夹路径,其实就是你编写的这个py文件所放的文件夹路径!也就是说你写的相对路径必须是当前文件夹A里的文件a或者A里的文件夹B里的文件才可以open。

假设当前的py文件夹所处的位置是:D:\user\public

那么三行代码打开的文件所属的路径分别是:

D:\user\public\aaa.txt

D:\user\public\data\bbb.txt

D:\user\private\ccc.txt

很好理解就是当要打开py文件所处的文件时只要使用相对路径就行了,而要使用其他文件夹的则需使用绝对路径。

注:我们常用'/‘来表示相对路径,'\‘来表示绝对路径,上面的路径里\\是转义的意思,不懂的自行百度。

此外,网页网址和linux、unix系统下一般都用'/‘

当然我们也可以获得当前文件夹的绝对路径,如下:

import os
path1=os.path.abspath('.')   #表示当前所处的文件夹的绝对路径
path2=os.path.abspath('..')  #表示当前所处的文件夹上一级文件夹的绝对路径

所以我们常设置一个path1的全局变量来表示当前的绝对路径,再加上相对路径来打开需要打开的文件,这么做是为了在不同的平台上不冲突,因为不同平台在相对路径上的表示上存在区别。

知识点扩展:

1、绝对路径

 os.path.abspath("文件名"):

显示的是一个文件的绝对路劲

>>> import os

>>> os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb")

>>> os.listdir()

['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__']

>>> os.path.abspath("settings.py")

'E:\\PycharmProjects\\odycmdb\\odycmdb\\settings.py'

2、相对路径

os.path.dirname("文件名"):

显示的是一个文件的相对路径

>>> import os

>>> os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb")

>>> os.listdir()

['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__']

>>> os.path.dirname("settings.py")

到此这篇关于如何表示python中的相对路径的文章就介绍到这了,更多相关python相对路径写法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解在Python中以绝对路径或者相对路径导入文件的方法

    1.在Python中以相对路径或者绝对路径来导入文件或者模块的方法 今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一直是用绝对路径进行导入的.按道理来讲是不会出现模块找不到的情况的. 最后仔细分析了整个代码的目录结构,才发现了问题. 下面依次来说明一下今天的情况 先看导入的代码: 在demo--mnist.py文件中执行以下两种导入操作 # 第一处 from gcforest.gcforest import GCForest from gcforest.utils.co

  • Python 从相对路径下import的方法

    例如我们有如下结构的文件: pkg/ __init__.py libs/ some_lib.py __init__.py components/ code.py __init__.py 如果我们想要在code.py中调用libs/some_lib.py这个module,比如使用相对调用:from ..libs.some_lib import something,仅仅在package中加上__init__.py是不够的.python会返回ValueError: Attempted relative

  • 浅谈Python2、Python3相对路径、绝对路径导入方法

    os.path.dirname() 获取父目录 os.path.basename() #获取文件名或者文件夹名 python2缺省为相对路径导入,python3缺省为绝对路径导入 python2绝对路径导入 from __future__ import absolute_import python2缺省会搜索上一级目录.上上级目录 解决方案: import platform pver=platform.python_version() pversion= int(pver.split('.')[

  • python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法

    默认情况下,tarfile 打包成的 tar.gz 文件会带绝对路径,而很多情况下,我们需要的是相对打包文件夹的路径. 代码: <pre name="code" class="python"><span style="font-size:18px;">import tarfile tmp_tar_dir = "/home" file_name = "test.tar.gz" tmp_

  • Python 解决相对路径问题:"No such file or directory"

    如果你取相对路径不是在主文件里,可能就会有相对路径问题:"No such file or directory". 因为 python 的相对路径,相对的都是主文件. 如下目录结构: | -- main.py | -- conf.py | -- start.png | -- config.txt main.py 是主文件. conf.py 里引用 config.txt 用相对路径. 如果用 . 或 - 相对的是 main.py,所以用 "./config.txt",相

  • 如何表示python中的相对路径

    下面的路径介绍针对windows在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式: open('aaa.txt') open('/data/bbb.txt') open('D:\\user\\ccc.txt') 这三种表达式里面,前两个都是相对路径,第三个则是绝对路径.绝对路径比较好理解,就是最完整的路径,相对路径的相对则是不完整路径,这个相对指的就是相对于当前文件夹路径,其实就是你编写的这个py文件所放的文件夹路径!也就是说你写的相对路径必须是当前文件夹A里的文件a或者A里的文件

  • python 中open文件路径的选择问题解析

    一.问题描述 python 中使用open打开某个文件写入时,往往会发现需要写入的文件不在同级目录下.这样就需要根据文件的路径来找到并打开. 但往往有时绝对路径和相对路径,写入不正确就会打开失败. 二.解决方法 1.使用绝对路径 错误方法: 修改后的: 如果代表的是windows文件路径,则使用斜杆/和反斜杠\是一样的:如果代表的是网络文件路径,则必须使用 斜杆/ . 但是我不是很喜欢使用绝对路径,推荐使用相对路径. 2.使用相对路径 错误方法: 修改后的: 因为是处于非同级目录,所以需要在文件

  • Python中添加搜索路径的方法实例

    目录 Python添加搜索路径 附:python临时添加搜索路径 总结 Python添加搜索路径 1. 程序中添加 利用 sys.path 进行添加, 例如: import sys sys.path.append('/Users/username/Documents/') sys.path 以及可以利用 sys.path 输出目前所包含的目录. 2. 利用 .pth 文件进行添加 在 lib/python 所安装的目录下的 lib/python/site-packages/ 目录下增加一个 .p

  • 理解Python中的绝对路径和相对路径

    本文介绍了Python中的绝对路劲和相对路径,分享给大家,也给自己留个笔记 1.绝对路径 os.path.abspath("文件名"): 显示的是一个文件的绝对路劲 eg: >>> import os >>> os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb") >>> os.listdir() ['settings.py', 'urls.py', 'wsgi.py'

  • Python中正反斜杠(‘/’和‘\’)的意义与用法

    刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用. 在Python中,记录路径时有以下几种写法,如:(大家都知道\n是换行的意思) report_dir1=r'C:\Local\Programs\Python\Python35\Lib\n_test' report_dir2='C:\\Local\\Programs\\Python\\Python35\\Lib\\n_test' report_dir3='C:/Local/

  • 详解Python中的正斜杠与反斜杠

    首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" path1 = r"c:\windows\temp\readme.txt" path2 = "c:

  • python中os操作文件及文件路径实例汇总

    本文实例讲述了python中os操作文件及文件路径的方法.分享给大家供大家参考.具体分析如下: python获取文件上一级目录:取文件所在目录的上一级目录 复制代码 代码如下: os.path.abspath(os.path.join(os.path.dirname('settings.py'),os.path.pardir)) os.path.pardir是父目录,os.path.abspath是绝对路径 举例具体看一下输出: 复制代码 代码如下: print os.path.dirname(

  • 详谈python在windows中的文件路径问题

    在使用python通过open()函数来打开文件的时候,传递绝对路径给open()的时候,发现路径参数的内容与想象中的有所出入: 由于windows的路径分隔符使用的是反斜杠\,它刚刚好是转义字符,故可能发生冲突 # 错误示范:反斜杠似乎被解释为转义字符而不是分隔字符 path = '''F:\Python\test.txt''' path = '''F:\\Python\test.txt''' """以下三种方式都是可行的""" path =

  • 浅谈python中拼接路径os.path.join斜杠的问题

    调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠 directory1='/opt/apps/upgradePackage' directory2='icp_v1.8.0' directory3=os.path.join(directory1,directory2) print('directory3 : %s' %directory3) 执行结果 directory3 : /opt/apps/upgradePackage\icp_v1.8.0 拼接的符号成了"\&quo

随机推荐