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

Ubuntu桌面快捷方式失效:无法读取源文件夹文本文件

问题原因

通过Ubuntu桌面快捷方式启动程序时,当前工作目录(CWD)默认是用户主目录,而非可执行文件所在的/home/softwares目录。你代码中用Path.cwd()获取路径,会去主目录查找text.txt,自然找不到。另外你的快捷方式里存在笔误:Exce应改为Exec,这也可能导致启动异常。

解决方案

方案一:修改Python代码(推荐,适配所有启动场景)

调整代码逻辑,获取可执行文件的实际所在目录,而非依赖当前工作目录。PyInstaller打包单文件程序时,可通过sys.executable定位程序路径:

import sys
from pathlib import Path

def remote_db_connector():
    # 判断是否为打包后的可执行程序
    if getattr(sys, 'frozen', False):
        # 打包状态下,sys.executable指向可执行文件路径
        app_dir = Path(sys.executable).parent
    else:
        # 开发环境下,使用当前工作目录
        app_dir = Path.cwd()
    
    txtPath = app_dir / "text.txt"
    # 用with语句自动管理文件关闭,更安全高效
    with open(txtPath, 'r') as myfile:
        return myfile.read()

方案二:修改桌面快捷方式(简单直接)

在桌面快捷配置中添加WorkingDirectory字段,指定程序所在目录,同时修正Exce的笔误:

[Desktop Entry]
Type=Application
Name=Mypro
Exec=/home/softwares/Mypro
Icon=/home/softwares/Myico.png
Terminal=true
StartupNotify=false
WorkingDirectory=/home/softwares

修改后保存快捷方式,重新启动程序即可正常读取同目录下的text.txt文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 02:22:13