pyinstaller打包后读不到配置文件的解决方法
2019独角兽企业重金招聘Python工程师标准>>>
pyinstaller打包好一个exe后,运行此exe,会把此文件解压缩到
C:\Users\xxxx\AppData\Local\Temp\ 目录下,然后运行。
而配置文件一般放置在exe同级别目录下。假如os.path.dirname(os.path.realpath(__file__))
来获取目录,会定位到解压缩后的地址。
解决方法:
使用如下代码来获取文件夹:
os.path.dirname(os.path.realpath(sys.argv[0]))
附各种获取文件目录的方法,可以对比尝试下:
import os, sysprint('__file__:', __file__)
print('realpath of __file__:', os.path.realpath(__file__))
print('sys.executable:', sys.executable)
print('realpath of sys.executable:', os.path.realpath(sys.executable))
print('sys.argv[0]:', sys.argv[0])
print('realpath of sys.argv[0]:', os.path.realpath(sys.argv[0]))
print('sys.path[0]:', sys.path[0])
print('realpath of sys.path[0]:', os.path.realpath(sys.path[0]))
转载于:https://my.oschina.net/u/2396236/blog/3055607
pyinstaller打包后读不到配置文件的解决方法相关推荐
- vue打包后出现一些map文件的解决方法
Vue打包后出现一些map文件的解决办法: 问题: 可能很多人在做vue项目打包,打包之后js中,会自动生成一些map文件,那我们怎么把它去掉不要呢? 1.运行 cnpm run build 开始 ...
- Pyinstaller打包的exe文件过大的解决方法
Pyinstaller打包的exe文件过大怎么办? 相信经常用python的朋友都会面临这么一个问题,那就是想把自己写好的python程序打包给别人使用.有的人就会问了"打包"是什 ...
- Vue项目打包后页面一片空白的解决方法
本文参考了网名"羞羞的铁拳"的解决办法,现记录如下: 1.打包前路径设置的问题,具体参考这个链接:https://blog.csdn.net/liuhailong2014/arti ...
- python-barcode 使用pyinstaller打包后运行报错cannot open resource
python-barcode 使用pyinstaller打包后运行报错cannot open resource 问题描述: 使用pycharm可以正常生成条码,但是使用pyinstaller打包后,提 ...
- 解决pyinstaller打包后的exe文件打开闪退的问题
解决pyinstaller打包后的exe文件打开闪退的问题 闪退问题:一般我们打包完后的exe文件点击运行就会直接闪退,很难看到具体错误 解决步骤: 首先打开 cmd 进入到 exe 文件所在目录(c ...
- Pyinstaller打包后的exe文件打开闪退解决方案
Pyinstaller打包后的exe文件打开闪退解决方案 问题:利用pyinstaller对python代码打包后,dist文件夹中会生成一个xxx.exe可执行文件.但是很多朋友双击这个exe文件会 ...
- Pyinstaller打包附带DLL、图标和压缩EXE方法
Pyinstaller打包附带DLL.图标和压缩EXE方法 转载: https://blog.csdn.net/xinyingzai/article/details/80282856 目的: 用P ...
- pyinstaller打包-py获取依赖文件的绝对路径方法
真的在pyinstaller上栽太多次了,每次打包都会面临各种各样的问题,吐血记录下...(大哭) 环境 win10 python3.6 anconda-内设32位平台 pyinstaller4.0 ...
- android删除打开方式,Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)...
Android 打开方式选定后默认了改不回来?解决方法(三星s7为例) 刚刚在测试东西,打开一个gif图,然后我故意选择用支付宝打开,然后...支付宝当然不支持,我觉得第二次打开它应该还会问我,没想到 ...
最新文章
- 万字大白话带你重拾JVM
- MVC、JSP实现mysql的增删改查功能的封装和简陋的界面交互
- 小区物业费信息管理系统设计c++_律师,我没有签物业合同,可以不交物业费吗?...
- NOIP2018 退役记
- 转-iOS开发系列--地图与定位
- boost::range模块uniqued相关的测试程序
- JAVA复习(对象的克隆、正则表达式)
- 并发模型之——共享内存模型(线程与锁)理论篇
- java 赋值md5_Hook Java API以获得MD5加密前数据
- 计算机odbc数据源管理位置,使用 ODBC 数据源管理器
- Glide 圆角+居中裁剪centerCrop冲突问题
- RS485收发的3种典型电路-重点-自动收发电路
- 十进制小数化为二进制小数的方法是什么_二进制的转换
- Mockito简单实用教程 - 第一部分mock
- 最牛逼 Java 日志框架 — Log4j2,性能无敌,横扫对手.....
- Java中string字符串和char字符之间的千丝万缕
- SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图
- EBS:AP_CHECKRUN_CONC_PROCESSES_ALL
- 报错分析:Precision and F-score are ill-defined for being 0.0 in labels with no predicted samples
- 整蛊小程序java手机_明天愚人节!这份微信+小程序整蛊攻略,助你出奇制胜!...
热门文章
- C# 把特定数字移动到数字前面,其他顺序不变。
- Ext2.2系列(50篇)
- POJ2186——并查集+Tarjan算法求强连通分量
- java学习笔记(十一)基本数据类型的对象包装类
- mysql slave 能写吗_MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- 汇编 控制流伪指令 .break .continue .else .elseif .endif .endw .if .repeat .until .untilcxz .while
- 【数字信号处理】周期序列 ( 周期序列示例 3 | 判断序列是否是周期序列 )
- 【Groovy】Groovy 扩展方法 ( 扩展静态方法示例 | 扩展实例方法示例 | 扩展实例方法与扩展静态方法代码相同 )
- 【C 语言】文件操作 ( 文件加密解密 | 解密文件 )
- 我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )