一、使用__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模块。使用这些方法可以方便地获取当前脚本文件名,并且可以通过进一步处理、分析、操作来实现更多的功能。