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 中JSONDecodeError: Expecting value:&n
這篇文章主要介紹了解決Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)錯(cuò)誤問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
Python提取Word中圖片的實(shí)現(xiàn)步驟
本文主要介紹了Python提取Word中圖片的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
使用虛擬環(huán)境打包python為exe 文件的方法
這篇文章主要介紹了關(guān)于使用虛擬環(huán)境打包python為exe 文件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Python實(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-01
numpy使用fromstring創(chuàng)建矩陣的實(shí)例
今天小編就為大家分享一篇numpy使用fromstring創(chuàng)建矩陣的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
python?隨時(shí)間序列變動(dòng)畫(huà)圖的方法
這篇文章主要介紹了python?基礎(chǔ)繪圖之關(guān)于隨時(shí)間序列變動(dòng)的圖的畫(huà)法,首先大家要明白畫(huà)圖需要考慮的問(wèn)題,如何在圖中適當(dāng)?shù)娘@示軸標(biāo)簽的樣式和數(shù)量,詳細(xì)代碼跟隨小編一起看看吧2022-01-01
python之Flask實(shí)現(xiàn)簡(jiǎn)單登錄功能的示例代碼
這篇文章主要介紹了python之Flask實(shí)現(xiàn)簡(jiǎn)單登錄功能的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Windows系統(tǒng)下實(shí)現(xiàn)pycharm運(yùn)行.sh文件(本地運(yùn)行和打開(kāi)服務(wù)器終端)
PyCharm是Python開(kāi)發(fā)的高效率IDE,但是很多時(shí)候需要同時(shí)開(kāi)發(fā)Bash(shell)腳本,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下實(shí)現(xiàn)pycharm運(yùn)行.sh文件(本地運(yùn)行和打開(kāi)服務(wù)器終端)的相關(guān)資料,需要的朋友可以參考下2022-09-09

