You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

双击运行Python可执行脚本时,打开文件意外退出的原因?

解决Python脚本双击运行时意外退出的问题

问题原因

双击运行Python脚本时,系统的当前工作目录并非脚本所在的目录。尽管test.txt和脚本在同一文件夹,但此时Python会在默认工作目录(比如Windows的C:\Users\[你的用户名])寻找该文件,找不到就触发FileNotFoundError异常,而双击启动的窗口会在异常发生后直接关闭,导致你看不到错误信息。

而通过终端或IDLE运行时,工作目录就是脚本所在路径,所以能正常读取文件。

解决办法

方案1:使用绝对路径定位文件

利用__file__变量获取脚本的绝对路径,拼接出test.txt的正确位置,确保无论从哪个目录运行都能找到文件:

import os

print("hello world!")

# 获取脚本所在目录的绝对路径
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接得到test.txt的完整路径
file_path = os.path.join(script_dir, "test.txt")

file = open(file_path, "r")

x = input()

方案2:添加异常捕获与窗口停留

如果需要保留相对路径,同时希望出错时能看到提示并停留窗口,可以添加异常处理逻辑:

print("hello world!")

try:
    file = open("test.txt", "r")
except Exception as e:
    print(f"运行错误:{e}")
    print("按任意键退出...")
    input()

x = input()

这样即使出现错误,窗口也会显示具体信息,等待用户输入后才关闭。

方案3:打包为独立可执行文件

针对非编程用户,最友好的方式是将脚本打包成.exe文件,无需用户安装Python环境,且能自动处理路径问题:

  1. 安装打包工具:pip install pyinstaller
  2. 在脚本所在目录打开终端,执行打包命令:pyinstaller --onefile helloworld.py
  3. 打包完成后,dist文件夹内会生成helloworld.exe,用户双击即可正常运行。

内容的提问来源于stack exchange,提问作者ithmath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:17:42