python获取程序执行文件路径的方法(推荐)

yizhihongxing

获取程序执行文件路径是Python开发中很常见的需求。本文将介绍2种常用的Python获取程序执行文件路径的方法。

方法一:使用os模块的path属性

下面是一段使用os模块获取程序执行文件路径的Python代码:

import os

# 获取当前运行的py文件的文件名
print(__file__)

# 获取当前运行的py文件所在的目录
print(os.path.dirname(os.path.abspath(__file__)))

首先,Python内置了一个特殊变量__file__,获取当前运行的py文件的文件名。然后,使用os.path模块的abspath()方法将文件名转换成绝对路径,再使用os.path.dirname()方法取出文件所在的目录即可。

方法二:使用sys模块的argv属性

下面是一段使用sys模块获取程序执行文件路径的Python代码:

import sys
import os

# 获取程序执行的绝对路径
path = os.path.abspath(sys.argv[0])
print(path)

# 获取程序执行的目录
dir_path = os.path.dirname(path)
print(dir_path)

sys.argv是一个包含命令行参数的列表。一般情况下,列表中第一个元素是脚本文件名,因此,这里的sys.argv[0]就是程序的绝对路径。使用os.path.abspath()方法将其转换成绝对路径,再使用os.path.dirname()方法取出其所在目录即可。

示例说明

示例1

现在有一个名叫test.py的Python脚本,它在D:\python_project目录下。

# test.py文件的内容如下
import os

# 获取当前运行的py文件的文件名
print(__file__)

# 获取当前运行的py文件所在的目录
print(os.path.dirname(os.path.abspath(__file__))))

执行该脚本,会得到以下输出结果:

D:\python_project\test.py
D:\python_project

示例2

设在/var/www/cgi-bin/目录下有一个名叫test.py的python脚本。

# test.py文件的内容如下
import sys
import os

# 获取程序执行的绝对路径
path = os.path.abspath(sys.argv[0])
print(path)

# 获取程序执行的目录
dir_path = os.path.dirname(path)
print(dir_path)

执行该脚本,会得到以下输出结果:

/var/www/cgi-bin/test.py
/var/www/cgi-bin

通过上述两个示例,我们可以看出,无论在什么系统环境下,Python获取程序执行文件路径的方法都是可行的。当然,也需要根据实际情况选择适合自己的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python获取程序执行文件路径的方法(推荐) - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • Python构造函数及解构函数介绍

    Python构造函数及解构函数介绍 构造函数 在Python中,构造函数是一个特殊的函数,用于在创建对象时执行一些初始化操作。构造函数的名称为__init__,它是Python中所有类都可以使用的一种方法。 构造函数是在实例化对象时自动调用的,它的主要作用是为对象提供初始状态。如果没有定义构造函数,在实例化对象时会使用默认的构造函数。构造函数可以有任意数量的…

    python 2023年6月5日
    00
  • python的逻辑与循环详解

    Python 逻辑运算符 Python 的逻辑运算符有三种:and、or 和 not。 逻辑运算符用于组合条件语句,又称组合连接符。 运算符 逻辑表达式 描述 and x and y 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 or x or y 如果 x 是 True,它返回 x 的计算值,否则它返回 y 的计算…

    python 2023年5月13日
    00
  • python 错误处理 assert详解

    当编写Python程序时,经常会发现出现了各种错误,比如输入值错误、运算溢出、文件不存在等等。这些错误如果不加以处理,可能会引起程序的异常中断或者结果不准确。Python提供了丰富的错误处理机制,其中一个基本的错误处理工具就是assert语句。 assert语句是Python的一个条件语句,主要用于检查某个条件是否为真,如果为假,则会提出AssertionE…

    python 2023年5月13日
    00
  • python将txt文件读取为字典的示例

    下面就是详细讲解Python如何将txt文件读取为字典的完整攻略。 1. 读取txt文件 Python中可以使用open()函数来打开文件并读取其中的内容。具体使用方法如下: with open(‘file_path’, ‘r’) as file: # ‘file_path’为文件路径,’r’表示读取模式 content = file.read() # 读取…

    python 2023年5月13日
    00
  • Python字符串转换成浮点数函数分享

    现在我来详细讲解一下如何将Python字符串转换成浮点数,提供了完整的攻略以及两条示例说明。 什么是Python字符串转换成浮点数 Python字符串转换成浮点数指的是将一个数字类型的字符串(例如“3.14”)转换成Python中的浮点数类型。这个过程对于数据科学、数据处理等领域非常重要,因为在编程中常常需要对数据进行类型转换。 Python字符串转换成浮点…

    python 2023年6月5日
    00
  • python如何发送带有附件、正文为HTML的邮件

    发送带有附件、正文为 HTML 的邮件可以使用 Python 的 smtplib、email.mime.text 和 email.mime.multipart 模块实现。 以下是详细的攻略步骤: 步骤一:导入模块 import smtplib from email.mime.text import MIMEText from email.mime.multi…

    python 2023年6月5日
    00
  • 解决Python中list里的中文输出到html模板里的问题

    在Python中,如果列表中包含中文字符,输出到HTML模板中可能会出现乱码的问题。这是因为HTML模板默认使用的是UTF-8编码,而Python默认使用的是ASCII编码。为了解决这个问题我们需要将列表中的中文字符转换为UTF-8编码。下面是两种解决方法: 方法一:使用str.encode()函数 可以使用str.encode()函数将列表中的中文字符转换…

    python 2023年5月13日
    00
  • 详解Python发送email的三种方式

    下面是“详解Python发送email的三种方式”的完整实例教程。 前言 无论是个人还是企业,发送邮件是经常需要的一个功能,Python提供了多种发送邮件的方式,本文将详细介绍三种方式。 方式一:使用smtplib库发送邮件 代码示例 import smtplib from email.mime.text import MIMEText from email…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部