Python获取当前文件名

在编写Python程序时,有时候我们需要获取当前正在执行的文件名。这在日志记录、调试、以及文件操作等场景中都会用到。
Python提供了一些方法来获取当前文件名,下面我们将逐一介绍这些方法。
方法一:使用__file__属性
在Python中,每个模块都有一个__file__属性,可以用来获取该模块的文件路径。通过这个属性,我们可以获取当前文件的文件名。
import os
current_file = os.path.basename(__file__)
print(current_file)
运行上述代码,输出为当前文件的文件名,如example.py。
方法二:使用sys.argv[0]属性
另一种获取当前文件名的方法是使用sys.argv[0]属性。sys.argv[0]表示当前执行的Python脚本名称。
import sys
current_file = sys.argv[0]
print(current_file)
运行上述代码,输出同样为当前文件的文件名。
方法三:使用inspect模块
inspect模块是Python标准库中的一个模块,它提供了诸多有用的函数,包括获取源代码、解析堆栈等功能。通过inspect模块,我们也可以获取当前文件名。
import inspect
current_file = inspect.getfile(inspect.currentframe())
print(current_file)
运行上述代码,同样可以得到当前文件的文件名。
方法四:使用__main__模块
在Python中,每个模块都有一个__name__属性,表示模块的名称。当一个模块被直接执行时,其__name__属性的值为__main__。因此,我们可以通过判断__name__属性来获取当前文件名。
import sys
current_file = sys.modules['__main__'].__file__
print(current_file)
同样地,运行上述代码可以得到当前文件的文件名。
方法五:使用os.path.abspath(__file__)
最后一种方法是使用os.path.abspath(__file__)函数,它可以返回当前文件的绝对路径。
import os
current_file = os.path.abspath(__file__)
print(current_file)
运行上述代码,也可以得到当前文件的文件名。
通过以上五种方法,我们可以轻松地获取到当前文件的文件名,方便我们在程序中进行日志记录、调试等操作。希望这些方法可以帮助到你。
小结
本文介绍了Python中获取当前文件名的五种方法:使用__file__属性、sys.argv[0]属性、inspect模块、__main__模块以及os.path.abspath(__file__)函数。这些方法可以满足不同场景下对当前文件名的需求,让我们的程序更加灵活和方便。
极客教程