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時(shí),有使用configparser模塊。
使用相對路徑。在pycharm中測試,正常,打包成exe,就出錯(cuò)了
換用絕對路徑,
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節(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('沒有配置文件,創(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) ?# 打開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)寫入 ? ? ? ? conf.write(fw) ? ? return True
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Python 中JSONDecodeError: Expecting value:&n
這篇文章主要介紹了解決Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)錯(cuò)誤問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Python提取Word中圖片的實(shí)現(xiàn)步驟
本文主要介紹了Python提取Word中圖片的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07使用虛擬環(huán)境打包python為exe 文件的方法
這篇文章主要介紹了關(guān)于使用虛擬環(huán)境打包python為exe 文件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Python實(shí)現(xiàn)將doc轉(zhuǎn)化pdf格式文檔的方法
這篇文章主要介紹了Python實(shí)現(xiàn)將doc轉(zhuǎn)化pdf格式文檔的方法,結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)doc格式文件讀取及轉(zhuǎn)換pdf格式文件的操作技巧,以及php調(diào)用py文件的具體實(shí)現(xiàn)方法,需要的朋友可以參考下2018-01-01numpy使用fromstring創(chuàng)建矩陣的實(shí)例
今天小編就為大家分享一篇numpy使用fromstring創(chuàng)建矩陣的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06python?隨時(shí)間序列變動(dòng)畫圖的方法
這篇文章主要介紹了python?基礎(chǔ)繪圖之關(guān)于隨時(shí)間序列變動(dòng)的圖的畫法,首先大家要明白畫圖需要考慮的問題,如何在圖中適當(dāng)?shù)娘@示軸標(biāo)簽的樣式和數(shù)量,詳細(xì)代碼跟隨小編一起看看吧2022-01-01python之Flask實(shí)現(xiàn)簡單登錄功能的示例代碼
這篇文章主要介紹了python之Flask實(shí)現(xiàn)簡單登錄功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12Windows系統(tǒng)下實(shí)現(xiàn)pycharm運(yùn)行.sh文件(本地運(yùn)行和打開服務(wù)器終端)
PyCharm是Python開發(fā)的高效率IDE,但是很多時(shí)候需要同時(shí)開發(fā)Bash(shell)腳本,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下實(shí)現(xiàn)pycharm運(yùn)行.sh文件(本地運(yùn)行和打開服務(wù)器終端)的相關(guān)資料,需要的朋友可以參考下2022-09-09