Python 中库函数的当前文件名

Current filename from the library function in Python

函数 f 在 lib.py returns os.path.basename.

当我从 1.py 调用 f() 时,它 return 是我 'lib.py'。 我如何修改 f() 以便它 return me '1.py'?

我想,您需要 sys.argv[0] — CLI 参数 #0 是正在执行的脚本。

这也不取决于它是被称为python 1.py还是./1.py。对于这两种情况,sys.executable 都可以通过查找 python 二进制文件来使用。该脚本将始终是参数 #0.

不过,当从交互模式调用时,它将是一个空字符串。因为没有正在执行的脚本。