在Python中,可以通过使用内置的inspect
模块来实现通过函数名打印文件名的功能。下面是实现的步骤:
inspect
模块:import inspect
def get_file_name(): return inspect.stack()[1][1]
def print_file_name(func_name): print(get_file_name())
print_file_name
函数,传入需要打印文件名的函数名作为参数。下面是一个示例:
# file_utils.py
import inspect
def get_file_name():
return inspect.stack()[1][1]
def print_file_name(func_name):
print(get_file_name())
# main.py
from file_utils import print_file_name
def my_function():
print_file_name(my_function.__name__)
my_function() # 输出:main.py
在上述示例中,file_utils.py
是包含获取文件名和打印文件名的模块,main.py
是调用这些函数的文件。通过在my_function
函数中调用print_file_name
函数,并传入my_function.__name__
作为参数,即可打印出当前文件名main.py
。
注意:上述示例中的print_file_name
函数只能打印出调用它的函数所在的文件名,而不是调用my_function
的文件名。如果需要打印调用my_function
的文件名,可以在print_file_name
函数中使用inspect.stack()[2][1]
来获取。
领取专属 10元无门槛券
手把手带您无忧上云