我理解您的问题了。看起来脚本运行时使用的路径是一个临时目录(C:\Users\admin\AppData\Local\Temp\_MEI173482\),这通常发生在使用 PyInstaller 打包的可执行文件中。

为了解决这个问题,我们需要区分脚本是作为 .py 文件运行还是作为打包后的可执行文件运行。

def get_script_dir():
    if getattr(sys, 'frozen', False):
        # 如果是打包后的可执行文件
        return os.path.dirname(sys.executable)
    else:
        # 如果是 .py 脚本
        return os.path.dirname(os.path.abspath(__file__))

主要的变化是:

  1. 添加了 get_script_dir() 函数,它能够区分脚本是作为 .py 文件运行还是作为打包后的可执行文件运行。

  2. main() 函数中,使用 current_dir = get_script_dir() 来获取正确的工作目录。

  3. 添加了一行日志记录来显示当前使用的工作目录:logger.info(f"当前工作目录: {current_dir}")

这些修改应该能解决您遇到的问题。无论脚本是作为 .py 文件运行还是作为打包后的可执行文件运行,它都应该能够正确找到所需的文件和文件夹。