python 路径操作_文件路径的表示方法[通俗易懂]

python 路径操作_文件路径的表示方法[通俗易懂]python下的文件路径操作:获取当前文件,文件夹所在文件路径,以及批量读取文件夹中特定格式的文件操作_python路径

欢迎学习交流!
邮箱: z…@1…6.com
网站: https://zephyrhours.github.io/

一、基于Python内部函数的路径操作

1、OS下的路径操作

在不导入包的情况下,基于python内部环境进行文件路径提取,首先导入python自带环境包。

import os  # 这里的os就是operation system的含义

# 获取当前运行文件所在的文件夹路径(当前的工作文件夹路径)
print(os.getcwd())#与.等价
print(os.path.abspath('.'))
# 获取当前运行文件路径
print(os.path.abspath('Test.py'))
# 获取当前文件所在文件夹的上级目录
print(os.path.abspath('..'))

输出结果为:
在这里插入图片描述

2、从完整路径中分离文件名与路径

获取文件路径中的文件名
os.path.dirname(): 去掉文件名称,返回文件路径

os.path.basename(‘D:\softwares\python\ceshi.py’)
# 获取文件路径中的文件位置
os.path.dirname(‘D:\softwares\python\ceshi.py’) 

使用split函数

path=‘D:\softwares\python\ceshi.py’
fname=path.split("\\")[-1]       # 返回值为 ceshi.py

3、读取文件夹中特定类型的文件

os.listdir() 用于返回指定的文件夹包含的文件或文件夹的名字的列表,但有个很明显的缺点,它的默认顺序不是有序的或者说不是通常的顺序。

进行代码讲解前,先看一下操作文件的构成,下图为文件夹下文件构成
在这里插入图片描述在这里插入图片描述
运行该代码,返回的所有文件夹名称,具体结果如下:

import os
all_files = os.listdir('F:/contest2022/Test/ball/HSI')
print(all_files)

在这里插入图片描述
**注意:**该方法返回的是文件夹中的所有文件,包括不同类型的文件
在这里插入图片描述
下面给出读取文件夹中特定类型的文件代码,具体如下:

dir = 'F:/contest2022/Test/ball/HSI'
filelist = []
for i in os.listdir(dir):  # 遍历整个文件夹
    path = os.path.join(dir, i)
    if os.path.isfile(path):  # 判断是否为一个文件,排除文件夹
        if os.path.splitext(path)[1] == ".png":  # 判断文件扩展名是否为“.jpg”
            filelist.append(i)
for i in filelist:
    print(i)

运行结果如下:
在这里插入图片描述

二、基于第三方安装包的路径提取

注意: 该部分代码基于macOS 操作系统下的VS code进行的分析,而第一部分代码是在window操作系统下的PyCharm下进行的分析,因此在文件路径上存在差异,其他地方与window相同,代码通用。

1. 获取当前运行文件所在路径及对应父级文件夹路径

from pathlib import Path  # 导入第三方安装包

# 获取当前运行脚本文件的绝对路径 /Users/zephyrhou/Documents/Python/Test/demo1.py
FILE = Path(__file__).resolve()  

# 获取当前运行脚本文件所在文件夹路径 /Users/zephyrhou/Documents/Python/Test
ROOT = FILE.parents[0] 

print(FILE)   
print(ROOT)

运行结果如下:
在这里插入图片描述

2. 将获取文件路径转化为绝对路径

import sys, os
from pathlib import Path

# 获取当前运行脚本文件的绝对路径 /Users/zephyrhou/Documents/Python/Test/demo1.py
FILE = Path(__file__).resolve()  

# 获取当前运行脚本文件所在文件夹路径 /Users/zephyrhou/Documents/Python/Test
ROOT = FILE.parents[0] 

print(FILE)
print(ROOT)

# 将上述文件路径转换为绝对路径
if str(ROOT) not in sys.path:   # 判断路径是否在查询路径列表中
    sys.path.append(str(ROOT))  # add ROOT to PATH
ROOT = Path(os.path.relpath(ROOT, Path.cwd()))  # relative 绝对路径转化为相对路径

print(ROOT)  #相对路径输出
print(ROOT/'test')   # 相对路径下text文件路径

运行结果如下:
在这里插入图片描述

今天的文章python 路径操作_文件路径的表示方法[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/74111.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注