python 部署程序,将代码放入模块下,报错module不存在、配置文件找不到

错误分析

因为 .py 文件没有与 python.exe 文件处于同一目录,所以启动时,导致找不到模块

解决

  • 将 .py 文件所在的路径添加到 系统路径,且必须在首位,否则报错

  • 如果 配置文件 在 .py 文件所在路径,还需要静 .py 文件所在路径设置为 当前路径

代码

需要在启动文件头部增加下面代码:

import sys, os
#先加入绝对路径,否则会报错,注意__file__表示的是当前执行文件的路径
#print(os.path.abspath(__file__))
#print(os.path.dirname(os.path.abspath(__file__)))

#sys.path.append(os.path.dirname(os.path.abspath(__file__)))
#print("系统路径",sys.path)

# 改变当前路径,否则找不到配置文件
current_dir = os.getcwd()
print("当前工作目录:", current_dir)
new_current_dir = os.path.join(current_dir, 'know')
os.chdir(new_current_dir)
print("当前工作目录:", os.getcwd())

"""
在cmd命令窗口中,通过 python命令启动程序,可以不加此代码,会自动将当前路径添加到系统路径中
但,编辑 .bat 文件后,必须将当前路径添加到 系统路径中,且放在第一位置,否则,否则找不到模块
"""
sys.path.insert(0,new_current_dir)
print("系统路径",sys.path)

原文出处:/show_1GW1tv9Tc8k3.html