首页 > 解决方案 > os.path.basename(__file__) 获取脚本名称,而不是文件

问题描述

我正在为一种名为“.way”的扩展程序创建评估器。要打开文件,您必须转到文件属性,选择“使用 Way.exe 打开”,然后打开文件。
这是 Way.exe 的代码:

import os
currentname = os.path.basename(__file__)
print(currentname)

当我运行 test.way 时,它会打印“Way.py”(.exe 文件运行的脚本)而不是“test.way”。如何让它打印当前文件的名称?

标签: python

解决方案


我想我遇到了同样的问题,这解决了它。希望这会有所帮助

以下代码片段是从这里引用的

import os
import sys

# determine if application is a script file or frozen exe        
if getattr(sys, 'frozen', False):
    file_path = os.path.realpath(sys.executable)
elif __file__:
    file_path = os.path.realpath(__file__)
    
currentname = os.path.basename(file_path)

推荐阅读