Python 如何获取当前运行的 Python 脚本的路径

Python 如何获取当前运行的 Python 脚本的路径

在本文中,我们将介绍如何使用 Python 获取当前运行的 Python 脚本的路径。在开发过程中,有时我们需要获取当前脚本文件所在的路径,以便进行文件操作、路径拼接等操作。

阅读更多:Python 教程

使用 file 变量

Python 提供了一个特殊变量 __file__,它存储了当前脚本文件的路径。我们可以利用这个变量来获取当前脚本的路径。

下面是一个简单的示例代码:

import os

script_path = os.path.abspath(__file__)
print("当前脚本的路径:", script_path)
Python

输出结果类似于:

当前脚本的路径: D:\PythonScripts\example.py
Python

在这个例子中,我们使用了 os.path.abspath() 函数来获取脚本文件的绝对路径,并打印出来。

需要注意的是,__file__ 只能获取当前脚本文件的路径,并不包括其他模块文件的路径。

使用 sys.argv[0] 变量

另一种获取当前脚本路径的方法是使用 sys.argv[0] 变量。该变量存储了当前脚本的文件路径和文件名。

以下是示例代码:

import os
import sys

script_path = os.path.abspath(sys.argv[0])
print("当前脚本的路径:", script_path)
Python

输出结果与前面的方法类似。

需要注意的是,sys.argv[0]__file__ 不同,它返回的是在命令行中输入的脚本文件的路径。

通过 inspect 模块获取脚本路径

Python 的 inspect 模块提供了一些用于检查源码的函数,其中有一个函数 inspect.getfile() 可以用来获取脚本文件的路径。

以下是示例代码:

import inspect

script_path = inspect.getfile(inspect.currentframe())
print("当前脚本的路径:", script_path)
Python

这段代码中,我们使用了 inspect.currentframe() 函数获取当前脚本的帧对象,然后通过 inspect.getfile() 函数获取文件路径。

需要注意的是,inspect.getfile() 方法返回的是规范化后的路径,可以使用 os.path.abspath() 函数将其转换为绝对路径。

获取当前工作目录

除了获取当前脚本的路径,有时候我们可能还需要获取当前工作目录的路径。Python 提供了 os.getcwd() 函数来获取当前工作目录路径。

以下是示例代码:

import os

current_dir = os.getcwd()
print("当前工作目录:", current_dir)
Python

输出结果类似于:

当前工作目录: D:\PythonScripts
Python

需要注意的是,当前工作目录可能与脚本所在的路径不同,在使用路径拼接等操作时应注意这一点。

总结

本文介绍了三种常用的获取当前脚本路径的方法:使用 __file__ 变量、使用 sys.argv[0] 变量以及使用 inspect 模块。此外,我们还介绍了获取当前工作目录路径的方法。根据实际需求,可以选择适合自己的方法来获取路径。在实际应用中,了解如何获取当前脚本的路径对于进行文件操作、路径拼接等任务非常重要。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册