pyinstaller打包后,配置文件無(wú)法正常讀取的解決
pyinstaller打包配置文件無(wú)法正常讀取
import os file = os.path.dirname(os.path.abspath(__file__)) cf = configparser.ConfigParser() print(file) cf.read(file+'/data.ini')
先獲取絕對(duì)路徑在讀取
pyinstaller又踩一坑,configparser os.mknod
在使用pyinstaller時(shí),有使用configparser模塊。
使用相對(duì)路徑。在pycharm中測(cè)試,正常,打包成exe,就出錯(cuò)了
換用絕對(duì)路徑,
print(os.getcwd()) fp_dir=os.getcwd() print(fp_dir) fp = fp_dir + '\conf.ini' ?# 定義配置文件名 print(fp)
基本正常。
可是遇到了
conf.read(fp) ?# 打開(kāi)conf
? ? conf.add_section('conf') ?# 添加conf節(jié)點(diǎn)不能自動(dòng)創(chuàng)建文件
嘗試os.mknod,windows下根本不支持。
? ? tes = open(fp,'a') ? ? tes.close()
用open方法,終于調(diào)試成功。
完整代碼
def make_conf():
? ? print('make')
? ? conf = ConfigParser() ?# 實(shí)例化
? ? print('沒(méi)有配置文件,創(chuàng)建中')
? ? 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) ?# 打開(kāi)conf
? ? if type!='up':
? ? ? ? conf.add_section('conf') ?# 添加conf節(jié)點(diǎn)
? ? 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: ?# 循環(huán)寫(xiě)入
? ? ? ? conf.write(fw)
? ? return True以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python機(jī)器學(xué)習(xí)特征重要性分析的8個(gè)常用方法實(shí)例探究
本文詳細(xì)介紹8種常用的方法,涵蓋了基于決策樹(shù)、集成學(xué)習(xí)模型以及統(tǒng)計(jì)學(xué)方法的特征重要性分析,從決策樹(shù)模型到SHAP值,深入探討每種方法的原理和示例,幫助全面了解如何評(píng)估特征的重要性,將能更好地理解特征對(duì)模型預(yù)測(cè)的貢獻(xiàn),為提升模型性能和解釋模型決策提供有力支持2024-01-01
python讀寫(xiě)刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié)
這篇文章主要介紹了python讀寫(xiě)刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié),需要的朋友可以參考下2021-04-04
python實(shí)現(xiàn)微秒級(jí)等待問(wèn)題(windows)
這篇文章主要介紹了python實(shí)現(xiàn)微秒級(jí)等待問(wèn)題(windows),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
matplotlib subplots 調(diào)整子圖間矩的實(shí)例
今天小編就為大家分享一篇matplotlib subplots 調(diào)整子圖間矩的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Python生成器generator和yield關(guān)鍵字的使用
生成器是一種特殊的迭代器,可以通過(guò)列表推導(dǎo)式的修改或者使用yield關(guān)鍵字來(lái)創(chuàng)建,生成器函數(shù)能夠在迭代時(shí)動(dòng)態(tài)產(chǎn)生值,而不是一次性生成所有值,這有助于節(jié)省內(nèi)存,yield關(guān)鍵字使函數(shù)執(zhí)行暫停并保存當(dāng)前狀態(tài),下次調(diào)用時(shí)從停止處繼續(xù)執(zhí)行2024-09-09
pandas is in和not in的使用說(shuō)明
這篇文章主要介紹了pandas is in和not in的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03

