展开全部

概述

使用os.path.abspath()函数2113来获取文件绝对路径5261

解析

文件目录结构如下:

假设app.py中想读4102取config.ini文件的内容,首先app.py需要1653知道config.ini的文件路径,从目录结构上可以看出,config.ini与app.py的父目录同级,也就是获取到app.py父目录(bin文件夹的路径)的父目录(config文件夹路径)的绝对路径再拼上config.ini文件名就能获取到config.ini文件:

首先,在app.py中测试一下:import os

def load_file():

# 获取当前文件路径

current_path = os.path.abspath(__file__)

# 获取当前文件的父目录

father_path = os.path.abspath(os.path.dirname(current_path) + os.path.sep + ".")

# config.ini文件路径,获取当前目录的父目录的父目录与congig.ini拼接

config_file_path=os.path.join(os.path.abspath(os.path.dirname(current_path) + os.path.sep + ".."),'config.ini')

print('当前目录:' + current_path)

print('当前父目录:' + father_path)

print('config.ini路径:' + config_file_path)

load_file()

#out:

从结果中可以看到一切都正常,没有什么问题,假如现在需要从main.py中执行app.py的load_file()方法呢?

来测试一下:

main.py(处于同级目录):from bin.app import load_file

if __name__=='__main__':

load_file()

#out:

可以看到,获取的路径是完全没有问题的

拓展内容

python os.path 常用模块介绍

os.path.abspath(path) 返回path规范化的绝对路径(但这个路径不一定是真实的路径),如果path仅是一个文件名,使用该函数后返回的路径是当前工作目录路径连接改文件名后所组成的新的路径名。>>> import os.path

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

'C:\\Users\\Administrator\\a.py'

os.path.split(path) 将path分割成目录和文件名二元组返回>>> os.path.split("C:\\Users\\Administrator\\a.py")

('C:\\Users\\Administrator', 'a.py')

os.path.dirname(path) 返回path的目录,其实就是os.path.split(path)的第一个元素>>> os.path.dirname("C:\\Users\\Administrator\\a.py")

'C:\\Users\\Administrator'

os.path.basename(path) 返回path最后的文件名。如果path以/或\结尾,就会返回空值。即os.path.split(path)的第二个元素。>>> os.path.basename("C:\\Users\\Administrator\\a.py")

'a.py'

os.path.commonprefix(list) 返回list中所有path共有的最长的路径,从左向右,相同字符。

os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False。

os.path.isabs(path) 如果path是绝对路径,返回True。

os.path.normpath(path) 规范path字符串形式(规范文件路径)

os.path.isfile(path) 判断路径是否为文件,是返回True,否则返回False

os.path.isdir(path) 如果path是一个存在的目录,返回True,否则返货False。

os.path.islink(path) 是否是链接;但如果系统不支持链接,则返回False。

python获取读取文件的文件名_python文件名获取文件路径相关推荐

  1. 32. Pandas借助Python爬虫读取HTML网页表格存储到Excel文件

    Pandas借助Python爬虫读取HTML网页表格存储到Excel文件 实现目标: 网易有道词典可以用于英语单词查询,可以将查询的单词加入到单词本; 当前没有导出全部单词列表的功能.为了复习方便,可 ...

  2. python读取文件夹下所有文件名_python如何获取当前文件夹下所有文件名详解

    前言 本文主要给大家介绍了关于python获取当前文件夹下所有文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 os 模块下有两个函数: os.walk() os.li ...

  3. python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法

    python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...

  4. python调用文件对象所提供的读取数据的函数_python读写数据文件

    1. read.readline.readlines (1)open函数 如果你想用python读取文件(如txt.csv等),第一步要用open函数打开文件. open()是python的内置函数, ...

  5. python xlrd读取excel所有数据_python读取excel进行遍历/xlrd模块操作

    我就废话不多说了,大家还是直接看代码吧~ #!/usr/bin/env python # -*- coding: utf-8 -*- import csv import xlrd import xlw ...

  6. python docx 合并文档 图片_Python检查Word文件中包含特定关键字的所有页码

    推荐教材:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社图书详情:配套资源:用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系 ...

  7. python输出读取的空格数目_Python 3基础教程: 输入和输出具体代码实例

    在前面文章中,我们其实已经接触了 Python 的输入输出的功能.本章节我们将具体介绍 Python 的输入输出. 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数.( ...

  8. python目录名称无效怎么处理_Python目录和文件处理总结详解

    1.判断目录是否存在.判断文件是否存在.创建目录.重命名目录或文件 import os #获取当前目录路径: E:\Work\Projects\python print(os.getcwd()) #判 ...

  9. python为csv文件添加表头_python读csv文件时指定行为表头或无表头的方法

    python读csv文件时指定行为表头或无表头的方法 pd.read_csv()方法中header参数,默认为0,标签为0(即第1行)的行为表头.若设置为-1,则无表头.示例如下: (1)不设置hea ...

  10. python文件后缀切割_python如何去除文件后缀

    python去除文件后缀的方法: 1.调用os模块,用os模块的listdir()方法和walk()方法获取文件夹和文件名list_name = [] Makedir(outDir) for dir  ...

最新文章

  1. 你还弄不懂的傅里叶变换,神经网络只用了30多行代码就学会了
  2. C++ class实现链栈(完整代码)
  3. 使用JAVA来获得本日,本周,本月,本年的时间信息
  4. 设置cookie,跨域取值
  5. JQuery1.11版本对prop和attr接口的含义分离导致问题分析
  6. sublime_text_2 注册
  7. 如何在csdn免费下载资料?
  8. 【esp32lvgl】-2.1 # esp32移植lvgl7驱动st7789屏幕(ESP-IDF框架)
  9. IQ使命 Marrakech 马拉喀什(六边形图案)攻略
  10. easypoi 语法_高中英语必修1选修8 quot;语法quot;重难点清单(全八册)
  11. colab 跑 deformable-detr 记录:
  12. WinRAR的命令行模式与用法介绍
  13. 干货分享~做到这几点可以高效地Revit建模!
  14. 数据中台总体技术架构
  15. 51单片机控制舵机,舵机不动的定时器原因
  16. 图片滑块验证码的解决
  17. 重新定义移动办公 做企业需要的一站式协同
  18. 探讨企业即时通讯软件的价值
  19. 站长工具大全,站长工具哪个好用,站长在线工具
  20. 简述oracle的日志缓冲区,2.4 重做日志缓冲区

热门文章

  1. 【语音去噪】基于matlab GUI谱减法+维纳滤波语音去噪(带面板+信噪比)【含Matlab源码 1661期】
  2. 【数字信号处理】基于matlab GUI数字信号处理系统【含Matlab源码 1088期】
  3. 【图像去噪】基于matlab GUI中值+均值+维纳+小波滤波图像去噪【含Matlab源码 800期】
  4. 【房价预测】基于matlab GM模型房价预测【含Matlab源码 346期】
  5. SPSS Sobel检验(图文+数据集)【SPSS 044期】
  6. android自定义sufaceview,Android自定义SurfaceView实现画板功能
  7. r-cnn 行人检测_了解对象检测和R-CNN。
  8. 安装Scrapy失败的解决方法
  9. AttributeError: module 'torch._C' has no attribute '_cuda_setDevice'(在python命令后面加上 --gpu_ids -1)
  10. 羊车门问题看到吐血后的理解----一千七百字小作文+Python代码验证,帮你从质到量上理解,这再看不明白算我输!