1、绝对路径

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

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

eg:

>>> 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("文件名"):

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

eg:

>>> import os
>>> os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb")
>>> os.listdir()
['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__']
>>> os.path.dirname("settings.py")
''

 3、总结

一般情况下,绝对路劲函数和相对路径函数是结合起来用的,特别是在多个文件包之前相互导入

①os.path.dirname(os.path.abspath("文件名")): 表示获取当前文件夹的所在的目录

eg:

>>> 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'
>>> os.path.dirname(os.path.abspath("settings.py"))
'E:\\PycharmProjects\\odycmdb\\odycmdb'

②os.path.dirname(os.path.dirname(os.path.abspath("文件名"))): 表示获取当前文件夹上一层目录

eg:

>>> 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'
>>> os.path.dirname(os.path.dirname(os.path.abspath("settings.py")))
'E:\\PycharmProjects\\odycmdb'

Python中的绝对路劲和相对路径的更多相关文章

  1. react中引入图片路劲正确但是页面上不显示或者打包后不能正常显示的问题

    一.react中图片引入方式 以前我们用img引入图片只需要如下即可,在react中这样写会报错: <img src="../assets/zzsc1.png" /> ...

  2. redis 在我做的容器中的配置路劲

    配置 /etc/redis/redis.conf 数据库位置 /var/lib/redis/dump.rdb

  3. python中获取当前路径并添加到系统路径

    import os import sys sys.path.append(os.getcwd())

  4. Python中io的open()在PyCharm环境下报错和路劲的问题

    PS:我也是初学者,上班空闲时间学习学习Python.今天学到io的时候,遇到了两个用PyCharm环境编写代码的小白错误,如下: 两个问题都是如下代码: 1. 第一个问题:当写好代码之后,点击运行报 ...

  5. js/jquery 获取本地文件的文件路劲 获取input框中type=‘file’ 中的文件路径(转载)

     原文:http://blog.csdn.net/niyingxunzong/article/details/16989947 js/jquery 获取本地文件的文件路劲 获取input框中type= ...

  6. 怎样在Web项目中的service业务层获取项目根路劲

    这里我们有两个前提 1.没有使用struts2框架.没有使用servlet,无法给service层传递request对象. 2.使用了Spring框架. 那你可能问.会有这样的情况吗?答案是有的,比方 ...

  7. 我的python中级班学习之路(全程笔记第一模块) (第一章)(第2部分:如何设置python中的字体颜色,猜年龄练习题解答,while else语句,pycharm的使用)

    第一章:  python 基础语法 第  2  部分: 一.猜年龄练习题解答 直接上代码 >>> age = 26 >>> count = 0 >>&g ...

  8. Python之路-Python中的线程与进程

    一.发展背景 任务调度 大部分操作系统(如Windows.Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行.任务执行的 ...

  9. Python之路-Python中文件和异常

    一.文件的操作 open函数 在python中,使用open函数,打开一个已经存在的文件,或者新建一个新文件. 函数语法 open(name[, mode[, buffering[,encoding] ...

随机推荐

  1. VNC的安装和配置

    服务端环境:CentOS 6.7 客户端环境:Windows 7 1.服务器安装VNC服务端 2.编辑vnc配置文件 3.设定VNC的密码 4.查看vnc的会话信息 5.客户端测试vnc连接 Refe ...

  2. Android 命名规范 (提高代码可以读性)

    android文件众多,根据名称来辨别用途很重要,因此命名要规范 这篇文章可参考:Android 命名规范 (提高代码可以读性) 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名 ...

  3. IO多路复用之epoll总结

    1.基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本.相对于select和poll来说,epoll更加灵活,没有描述符限制.epoll使用一个文件描述符管理多个描述 ...

  4. c++中的重名问题

    看C++视频教程-范磊主讲(2.91G)视频学习笔记整理. 1.c++为什么要引入名字空间(namespace)? c++引入名字空间这个概念,是为了避免重名问题,比如说避免重复的函数名或者变量名引起 ...

  5. JS实现带复选框的下拉菜单

    这段时间在做后台的时候需要一个可以复选的下拉菜单,用到的是easyUI中的combo的Demo,先看看官方easyUI:http://www.jeasyui.com/documentation/ind ...

  6. tomcat源码剖析系列

    一个简单的web服务器 一个简单的servlet容器 连接器 创建httpRequest 创建HttpResponse 容器 生命周期 日志记录器 载入器 Session管理 关闭钩子 启动tomca ...

  7. NSPredicate 的使用

    NSPredicate是什么? NSPredicate 是预测的意思 但是我们常翻译成谓词 它可以干什么? 使用NSPredicate可以定义模糊查询条件 根据一定的条件 我们就可以从一个数组中快速找 ...

  8. Hibernate —— 检索策略

    一.Hibernate 的检索策略本质上是为了优化 Hibernate 性能. 二.Hibernate 检索策略包括类级别的检索策略.和关联级别的检索策略(<set> 元素) 三.类级别的 ...

  9. Spring Scope:Web项目中如何安全使用有状态的Bean对象?

    Web系统是最常见的Java应用系统之一,现在流行的Web项目多使用ssm或ssh框架,使用spring进行bean的管理,这为我们编写web项目带来了很多方便,通常,我们的controler层使用注 ...

  10. 【非原创】IOS 验证文字是否是中文

    从环信中找到的部分不错的代码,拿出来记录一下 是否是中文 -(BOOL)isChinese{ NSString *match=@"(^[\u4e00-\u9fa5]+$)"; NS ...