pyinstaller打包后,配置文件无法正常读取的解决
作者:被污染的一张白纸 发布时间:2022-12-17 18:22:09
标签:pyinstaller,打包,配置文件
pyinstaller打包配置文件无法正常读取
import os
file = os.path.dirname(os.path.abspath(__file__))
cf = configparser.ConfigParser()
print(file)
cf.read(file+'/data.ini')
先获取绝对路径在读取
pyinstaller又踩一坑,configparser os.mknod
在使用pyinstaller时,有使用configparser模块。
使用相对路径。在pycharm中测试,正常,打包成exe,就出错了
换用绝对路径,
print(os.getcwd())
fp_dir=os.getcwd()
print(fp_dir)
fp = fp_dir + '\conf.ini' # 定义配置文件名
print(fp)
基本正常。
可是遇到了
conf.read(fp) # 打开conf
conf.add_section('conf') # 添加conf节点
不能自动创建文件
尝试os.mknod,windows下根本不支持。
tes = open(fp,'a')
tes.close()
用open方法,终于调试成功。
完整代码
def make_conf():
print('make')
conf = ConfigParser() # 实例化
print('没有配置文件,创建中')
tes = open(fp, 'a')
tes.close()
firefox = str(get_extension(['firefox.exe']))
geckodriver = str(get_extension(['geckodriver.exe']))
WeChat = str(get_extension(['WeChat.exe']))
conf.read(fp) # 打开conf
if type!='up':
conf.add_section('conf') # 添加conf节点
print('add section')
conf.set('conf', 'firefox', firefox) # 添加值
conf.set('conf', 'geckodriver', geckodriver) # 添加值
conf.set('conf', 'wechat', WeChat) # 添加值
# conf.set('conf', 'firefox', '') # 添加值
# conf.set('conf', 'geckodriver', '') # 添加值
# conf.set('conf', 'wechat', '') # 添加值
print('set all', fp)
with open(fp, 'w') as fw: # 循环写入
conf.write(fw)
return True
来源:https://blog.csdn.net/abzdasfad/article/details/106942892
0
投稿
猜你喜欢
- 一、生成随机的测验试卷文件假如你是一位地理老师, 班上有 35 名学生, 你希望进行美国各州首府的一个小测验。不妙的是,班里有几个坏蛋, 你
- 本文实例讲述了Python中unittest的用法,分享给大家供大家参考。具体用法分析如下:1. unittest module包含了编写运
- 首先,建一个文件夹,把你要隐藏的文件放在里面,你的所有黑客程序什么的。假设你建的文件夹叫hacker然后呢,我们给这个文件夹加个扩展名(后缀
- 本文讲述了Python基本语法。分享给大家供大家参考,具体如下:概述:这里主要讲述以下内容:① 缩进② 流程控制语句③ 表达式④ 函数⑤ 对
- 本文实例为大家分享了tensorflow实现线性回归的具体代码,供大家参考,具体内容如下一、随机生成1000个点,分布在y=0.1x+0.3
- 在blueidea上看到movoin转的一个动态加载include文件代码,接着dnawo又修改了下,我用了dnawo修改后的版本,感觉挺好
- 可能不少学习javascript在使用call,apply,callee时会感到困惑,以下希望对于你有所帮助:1、它是函数的方法或属性;2、
- nofollow标签是Google2005年推出的,目的是尽量减少垃圾链接对搜索引擎的影响。有用过网页制作工具的人都知道,在这些工具里是找不
- 一、连接MYSQL:格式: mysql -h主机地址 -u用户名 -p用户密码1、例1:连接到本机上的MYSQL。首先在打开DOS窗口,然后
- 看到了很多关于如何读出图片的长度的高度的方法,其实都不实用,大多都是通过图片的大小来判断的,图片的种类众多,通过大小来判断难免要制造很多的代
- python3中的字符串是一种常见的数据类型。字符串有多种表现形式:单引号、双引号和三引号,且这些字符串的表现形式(单、双、三)都必须是成对
- 针对border边框属性在浏览器中的渲染方式很早以前就开始在QQ群中看到大家在讨论,而我也一直以border:0 none;的方式处理。其中
- 本文为大家分享了windows下pycharm安装、创建文件、配置默认模板的具体步骤,供大家参考,具体内容如下步骤: 下包 —->安装
- '*************************************************'函数名:getMaxO
- 新年新气象,今天就用代码来制作一个 动态鞭炮 ,效果如下所示。动态鞭炮的基本原理是:将一个录制好的鞭炮视频以字符画的形式复现,基本步骤是帧采
- 初学者可能都会遇到一个小问题就是:在用IPython的时候,可以使用类似%matplotlib inline的Magic Function(
- 一.请求后台的时候,服务端对每一个请求都会验证权限,而前端也需要对服务器返回的特殊状态码统一处理,所以可以针对业务封装请求。首先我们通过re
- 最近在用Pycharm学习Python的时候,总有两个地方感觉不是很舒服,比如调用方法的时候区分大小写(thread就不会出现Thread,
- 1. css背景图1.1 背景属性<!DOCTYPE html><html lang="en">
- 实现如下需求:在PyQt界面上有一个控件,实现其可任意拖动,且鼠标释放时自动对齐到网格。1.控件任意拖动并对齐到网格如下按钮(尺寸100&a