python - 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”。如何让它打印当前文件的名称?
解决方案
我想我遇到了同样的问题,这解决了它。希望这会有所帮助
以下代码片段是从这里引用的
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)
推荐阅读
- ios - nuxt.js pwa 的启动画面(添加到主屏幕 ios 和 Apk pwa)
- python - 尝试在熊猫中外部合并两个数据框时出现类型错误
- winforms - 设置 ComboBox 的每个项目的 BackColor 属性
- javascript - 使用javascript函数自定义排序HTML表格
- docker - Docker 版本与命令的预期不同
- python - python OpenCV检测所有具有预定义值的像素
- trading - 我的 MQL4 订单发送正常,但没有任何反应,也没有发送订单?
- ms-project - 如何使用 VBA 从 excel 导入项目的开始和结束日期?
- python - 一致且可重现的轴间距
- android - DropdownButton 不更新颤振中的值