python中获取文件的路径,python 从路径中获取文件名

本文目录一览:

python读取文件相对路径

比如你在和当前文件并列的”game”文件夹下有”score.txt”文件,那么相对路径表示为:

“game/score.txt”

就是和这个py文件并列的文件夹前面不需要加”/”,后面的都需要加,别忘了加上后缀。

例:

with open(“game/score.txt”, mode = “a+”, encoding = “utf-8”) as f:

score = f.readline()

只知道文件名的情况下,怎么用python获取所有同名文件的路径?

获取文件路径可以使用OS模块,代码如下:

import os

srcPath=r”WallReference.pdf”

path=os.path.abspath(srcPath)

print “全路径为:”,path

print “路径名,文件名”,os.path.split(path)

导入os模块;

需要操作的文件;

获取文件的全路径,即带盘符的路径;

输出全路径;

输出路径名和文件名;

python文件名获取文件路径

概述

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

解析

文件目录结构如下:

假设app.py中想读取config.ini文件的内容,首先app.py需要知道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-pyinstaller、打包后获取路径、读取同路径的配置文件

使用pyinstaller可以把.py文件打包为.exe可执行文件,命令为:

打包后有两个文件夹,一个是dist,另外一个是build,可执行文件在dist文件夹里面,但是会有许多依赖是独立文件存在

使用-F参数后,打包的可执行文件是一个整体,只有一个.exe文件。

获取文件路径的方式有四种,可以在打包成exe文件后,获取.exe文件的当前路径

在ide界面的执行结果如下:

在exe文件的执行结果为:我是把exe文件放到桌面运行的。

python获取当前路径

来自:

import os,sys

使用sys.path[0]、sys.argv[0]、os.getcwd()、os.path.abspath( file )、os.path.realpath( file )

sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入sys.path。

如果你在C:\test目录下执行python getpath\getpath.py,那么os.getcwd()会输出“C:\test”,sys.path[0]会输出“C:\test\getpath”。

如果你用py2exe模块把Python脚本编译为可执行文件,那么sys.path[0]的输出还会变化:

如果把依赖库用默认的方式打包为zip文件,那么sys.path[0]会输出“C:\test\getpath\libarary.zip”;

如果在setup.py里面指定zipfile=None参数,依赖库就会被打包到exe文件里面,那么sys.path[0]会输出“C:\test\getpath\getpath.exe”。

os.getcwd() “D:\”,取的是起始执行目录

sys.path[0]或sys.argv[0] “D:\python_test”,取的是被初始执行的脚本的所在目录

os.path.split(os.path.realpath( file ))[0] “D:\python_test”,取的是 file 所在文件test_path.py的所在目录

正确获取当前的路径:

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/151497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-11 13:42
下一篇 2024-11-11 13:42

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29

发表回复

登录后才能评论