![](/img/trans.png)
[英]python script won't run from command line but will when preceded by 'python'
[英]Python ConfigParser won't run from command line
Python腳本可在IDE中成功運行,但是在嘗試通過命令行運行時出現ConfigParser錯誤。
錯誤:
引發NoOptionError(選項,部分)ConfigParser.NoOptionError:在“數據庫”部分中沒有選項“密碼”
編碼:
from ConfigParser import SafeConfigParser
parser = SafeConfigParser()
parser.read('settings.ini')
# sets database and API configuration from settings.ini
API_KEY = parser.get('tokens','api_key')
db_user = parser.get('database','user')
db_pwd = parser.get('database','password')
db_host = parser.get('database','host')
db_database = parser.get('database','database')
路徑和環境似乎很好,所以問題似乎出在ConfigParser上。 有什么想法可能有問題嗎? 要再次重申,該腳本可以在IDE中正常運行(使用Spyder,PyCharm等時)。 正如預期的那樣,環境指向水蟒。
非常感謝您的幫助。
您的導入目標不正確。 模塊名稱為“ configparser”(區分大小寫。)您提到的IDE可能會執行一些啟動初始化,從而掩蓋了錯誤。
羅伯(在評論中)使我走上了正確的軌道。 問題在於Python的工作目錄與腳本所預期的不同。 為了使腳本正常工作,我添加了:
import sys
import os
os.chdir(os.path.dirname(sys.argv[0]))
...而且有效。 謝謝大家的幫助-非常感謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.