在使用python时,经常会有使用相对路径读取文件的情况,这时候,如果对于./与.//有疑惑,可能会出现错误。

查看当前文件的工作路径

print(os.getcwd())

使用这个函数,可以打印出当前.py文件的工作路径,因为使用相对路径,是基于当前.py文件的工作路径的。并不是基于.py文件的绝对路径。
当然了使用函数print(os.path.abspath(__file__))可以看到当前.py文件的绝对路径

从当前.py文件的工作路径出发,使用相对路径到目的文件、文件夹

A
—B
—C
—D.py
—E
—F.txt
假设有如下文件结构。并且当前的D.py的工作路径为A:/C,则./即为在当前.py文件的父文件夹C文件夹中查找。.//即为在.py文件的父文件夹C的父文件夹A中查找。
使用相对路径./E/F.txt即可以定位到F.txt文件。

注意点

1、路径中的斜杠,可以是反斜杠’‘,也可以是正斜杠’/‘,但是由于反斜杠在python中是转义符号,所以如果在路径中使用反斜杠’‘,应该再加一个反斜杠,即’\‘。但是为了与在linux中统一,最好就是使用一个正斜杠’/’
2、弄清楚当前.py文件的工作路径至关重要,因为相对路径是基于工作路径出发的,并不是.py的绝对位置出发的。而工作路径与.py的绝对路径可能不相同。

python中的./与../相关推荐

  1. 如何优雅的在python中暂停死循环?

    死循环 有时候在工作中可能会遇到要一直执行某个功能的程序,这时候死循环就派上用途了,python中死循环的具体形式大致如下 while True:run_your_code() 结束死循环 通常我们结 ...

  2. 关于python中的dict和defaultdict

    dict 在Python中如果访问字典中不存在的键,会引发KeyError异常,所以一般当我们比如统计一句话的词频时候,我们总是使用这样的处理方式: strings = ('puppy', 'kitt ...

  3. python中的新式类与旧式类的一些基于descriptor的概念(上)

    python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...

  4. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  5. Python中正则表达式用法 重点格式以这个为准_首看_各种问题

    20210811 https://www.jb51.net/article/101258.htm 一.惰性模式的概念: 此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如: va ...

  6. 逗号分隔的字符串转换为Python中的列表 split

    将逗号分隔的字符串转换为Python中的列表 给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转 ...

  7. [翻译]Python中yield的解释

    问题: Python中yield关键字的作用是什么?它做了什么? 例如,我想理解以下代码 def node._get_child_candidates(self, distance, min_dist ...

  8. 全面理解Python中的类型提示(Type Hints)

    众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...

  9. python中break和continue的区别

    python中break和continue的区别 break 结束for 或者while 循环  后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...

  10. 通过带Flask的REST API在Python中部署PyTorch

    通过带Flask的REST API在Python中部署PyTorch 在本文中,将使用Flask来部署PyTorch模型,并用讲解用于模型推断的 REST API.特别是,将部署一个预训练的Dense ...

最新文章

  1. 用指针和函数的方法完成两个数的交换
  2. pom配置之:distributionManagementsnapshot快照库和release发布库
  3. linux c 获取目录文件列表
  4. 2021-07-24
  5. 将服务器文件加载至hive表中,Hive入门到剖析(四)
  6. 书籍推荐:《C#7.0本质论》
  7. 【渝粤题库】国家开放大学2021春2441经济数学基础1题目
  8. Hadoop集群环境下网络架构的设计与优化
  9. 用正则表达式去除标点符号
  10. 【POJ 3977】【折半枚举】【超大背包】Subset【暑期 No.7】
  11. 没有灵魂的微信小程序代码转支付宝小程序代码
  12. 二进制编辑和进程监控工具
  13. Win7Office2010Flash控件无法使用“此演示文稿中一些控件无法激活,可能这些控件未在此计算机中注册“
  14. 数学计算机sci,有哪些是数学类SCI
  15. 谈谈扫码支付的实现流程
  16. tomcat java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
  17. 微信第三方开平台代公众号发起网页授权 获取用户信息 openid,uninoid
  18. flutter 使用 高德地图选取位置
  19. 【Apollo配置中心】Apollo环境配置
  20. GitHub 到底怎么找优秀的开源项目?有些资源自己找就可以了 | 非常实用技巧 | 效率起飞

热门文章

  1. 网络上游戏制作相关学习站点的网址
  2. 360与腾讯的连横合纵
  3. 主要的几个脑网络——整理自eegfmri的博客
  4. ASP.NET计算机类专业毕业设计(课程设计)题目大全
  5. android json解析优秀文章
  6. vlan聚合---supper vlan
  7. Java-PTA 自恋的水仙花
  8. Linux性能优化实战:CPU的上下文切换是什么意思(04)
  9. netty案例,netty4.1中级拓展篇五《基于Netty搭建WebSocket,模仿微信聊天页面》
  10. Docker Swarm 健康检查