在测试过程中,通常需要读取文件或写入文件,当要读写的文件和当前文件不在同一目录时,用相对路径经常会报找不到文件的错误。所以为了解决这个问题,我们通常在读写文件时,使用绝对路径。
但是文件路径写为绝对路径,可以直接写死吗?显然不能,如果写死了,这个代码就只能在当前的机器上运行了。我们今天就来解决这个问题。通过当前文件路径来获取要读写文件相对于当前文件的相对路径。

导入依赖的包

import os

获取文件路径

#获取当前文件的绝对路径
os.path.realpath(__file__)
#获取当前文件所在的目录的路径
os.path.dirname(os.path.realpath(__file__))
#获取当前文件所在目录的上一级目录的路径,os.path.dirname()可以多次使用,直到到达要读写的文件所在的上一级目录为止
dir_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))要读取config目录下的data.yaml文件
path = os.path.join(dir_path, "config", "data.yaml")这时path即为data.yaml的路径

涉及的方法

#获取当前文件的绝对路径
os.path.realpath(__file__)#获取当前路径的父级目录
os.path.dirname()#要读取的文件的绝对路径为:path/dir/文件名称os.path.join(path,"dir","文件名称")

python获取文件的绝对路径相关推荐

  1. python获取文件路径下的文件_python 获取文件下所有文件或目录os.walk()的实例

    在python3.6版本中去掉了os.path.walk()函数 os.walk() 函数声明:walk(top,topdown=True,oneerror=None) 1.参数top表示需要遍历的目 ...

  2. python获取文件路径名_python文件名获取文件路径

    如何使用Python获取文件所在目录和文件名 python中如何根据文件名找他的路径.现在我遍历到怎么才能将某一个文件对应的路径找到呢? 遍历用os.walk: import osfrom os.pa ...

  3. python获取绝对路径_python3中获取文件当前绝对路径的两种方法

    方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworki ...

  4. 如何获取文件的完整路径?

    有没有一种简单的方法可以打印file.txt的完整路径? file.txt = /nfs/an/disks/jj/home/dir/file.txt <command> dir> & ...

  5. python获取文件夹下文件_Python 获取指定文件夹下的目录和文件的实现

    经常有需要扫描目录,对文件做批量处理的需求,所以对目录处理这块做了下学习和总结.Python 中扫描目录有两种方法:os.listdir 和 os.walk. 一.os.listdir 方法 os.l ...

  6. python 获取文件夹所有文件列表_python获取文件夹下所有文件及os模块方法

    python获取文件夹下所有文件 方法一:使用os.listdir import os for filename in os.listdir(r'c:\windows'): print filenam ...

  7. Python 获取文件夹下所有文件

    前言 使用Python获取文件夹下的所有文件时,存在多种方式. 1. os.listdir os.listdir:参数为文件夹路径,可以返回文件夹下的所有子文件夹.文件名称. 示例: import o ...

  8. python获取文件夹里有什么文件+查看特定格式的文件

    python获取文件夹里有什么文件+查看特定格式的文件 功能 程序 效果 后续 功能 获取文件夹的的文件+获取文件夹里的特定格式的文件,比如.png等 程序 import os folder = r& ...

  9. python获取当前路径和上一层路径_python获取当前路径和上一级路径

    围观人数: 3 标签:getc   当前目录   路径   print   bsp   获取   目录   dir   dirname """获取当前目录"&q ...

最新文章

  1. 第十九章:集合视图(二十一)
  2. CSS3学习笔记-字体和文字
  3. 怎样保证客户端和服务器端数据的一致性(数据的同步)
  4. 矩阵论思维导图_矩阵求导与矩阵微分
  5. Swift之深入解析构造过程和析构过程
  6. 乌班图系统的MySQL_乌班图系统mysql主从备份
  7. JQuery Datatables 获取实例及如何进行全局设置
  8. ZZULIOJ 1093: 验证哥德巴赫猜想(函数专题)
  9. python 循环内部添加多个条件判断会出现越界
  10. Xilinx PCIE IP核接口介绍
  11. ElasticSearch预警服务-Watcher详解-Schedule配置
  12. 高德地图 map.setcenter 动画_娄底三维动画制作公司价格2020行情-立艺数字
  13. centos新装系统后安装软件整理
  14. swf文件转mp4视频格式的失败与成功
  15. 苹果手机数据线充不了电_自动洗地机充不了电,洗地机厂家
  16. ddwrt 扩张linux分区,FON2405e在引进自定义固件OpenWRTDDWRT.doc
  17. 计算机WIN7动态硬盘分区,如何创建Win7虚拟磁盘分区
  18. C++ 多种取整函数的使用和区别: ceil() floor() round() trunc() rint() nearbyint()
  19. 肾有多好,人就有多年轻。男女通用
  20. 2022数据库系统工程师 下午 试题三 真题答案

热门文章

  1. Duplicate method name “$$$getFont$$$“ with signature “(Ljava.lang.String;IILjava.awt.Font;)Ljava.awt
  2. 虚拟机无法访问主机mysql_主机无法连接虚拟机上的mysql
  3. 途牛旅游项目练习-登录篇
  4. 中国科学技术大学 MIRA Lab夏令营
  5. JS中JSON.parse()
  6. 资本资产定价模型简介-多因子寻找Alpha统计套利
  7. creo视图管理器使用方法_Creo Parametric 4.0 界面基础介绍
  8. 【每天学点Python】案例三:BMR计算器
  9. 全球定位系统和惯性系统在高速公路上的高精密定位
  10. 提取图片中的文字怎么做?这几种简单方法别错过