您的位置:

如何获取Python脚本的文件名

一、使用__file__属性获取文件名

Python中的每个脚本都有一个特殊的__file__属性,它可以返回当前脚本文件的文件名,包括路径。

    import os

    script_path = os.path.abspath(__file__)
    print(script_path)

在这个示例中,我们导入了Python的os模块,使用其中的abspath()函数,将当前脚本的相对路径转换为绝对路径。使用__file__属性获取文件名后,我们就可以随意地对其进行操作,例如使用os.path.dirname()函数获取当前脚本所在的目录。

二、使用sys.argv获取脚本名称

另一种获取当前脚本文件名的方法是使用sys.argv。sys.argv是一个包含命令行参数的字符串列表,其中第一个元素是当前脚本的文件名。

    import os
    import sys

    script_name = os.path.basename(sys.argv[0])
    print(script_name)

在这个示例中,我们使用Python标准库中的os.path.basename()函数获取脚本的文件名。因为sys.argv[0]保存的是脚本的完整路径,包括路径和文件名,因此我们需要使用os.path.basename()函数获取不包含路径的文件名。

三、使用inspect模块获取文件名

使用Python标准库中的inspect模块可以获取当前脚本的文件名。

    import inspect

    script_filename = inspect.getframeinfo(inspect.currentframe()).filename
    print(script_filename)

在这个示例中,使用inspect.currentframe()函数获取当前堆栈帧信息,getframeinfo()函数从栈帧信息中获取当前脚本的文件名。这种方法与前两种方法相比较相对复杂,但是在一些特殊情况下会更加有用。

四、总结

以上介绍了三种获取Python脚本文件名的方法,包括使用__file__属性、sys.argv和inspect模块。使用这些方法可以方便地获取当前脚本文件名,并且可以通过进一步处理、分析、操作来实现更多的功能。