python如何修改配置
① 如何動態修改python logging配置文件
配置文件:
#Configuration for log output
#Naiveloafer
#2012-06-04
[loggers]
keys=root,xzs
[handlers]
keys=consoleHandler,fileHandler,rotatingFileHandler
[formatters]
keys=simpleFmt
[logger_root]
level=DEBUG
#handlers=consoleHandler
#handlers=fileHandler
handlers=rotatingFileHandler
[logger_xzs]
level=DEBUG
handlers=rotatingFileHandler
qualname=xzs
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFmt
args=(sys.stdout,)
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFmt
args=("../log/p2pplayer.log", "a")
[handler_rotatingFileHandler]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=simpleFmt
args=("../log/p2pplayer.log", "a", 20*1024*1024, 10)
[formatter_simpleFmt]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s - [%(filename)s:%(lineno)s]
datefmt=
測試代碼:
def log_test02():
import logging
import logging.config
CONF_LOG = "../conf/p2pplayer_logging.conf"
logging.config.fileConfig(CONF_LOG); # 採用配置文件
logger = logging.getLogger("xzs")
logger.debug("Hello xzs")
logger = logging.getLogger()
logger.info("Hello root")
if __name__ == "__main__":
log_test02()
輸出:
2012-06-04 15:28:05,751 - xzs - DEBUG - Hello xzs - [xlog.py:29]
2012-06-04 15:28:05,751 - root - INFO - Hello root - [xlog.py:32]
具體就不詳細說明了,總之是能夠運行的,這個文件配置搞了我兩天時間。
特別是class=XXXX要注意!!!
② windows下配置python環境變數
您好,方法
首先第一步我們可以通過文件資源管理器中,找到此電腦,隨即右鍵點擊選擇「屬性」,當然了,如果您的桌面上有「此電腦」快捷圖標,也可以直接在桌面執行相同操作,之後便會彈出如圖所示的「系統」窗口,接下來在左邊選項卡中選擇高級系統設置。
點擊了高級系統設置之後,便會顯示「系統屬性」窗口,在該窗口的右下角便是」環境變數「選項。點擊進入環境變數的配置窗口,
接下來便是對環境變數的配置了。先在系統變數中找到「Path」一項,選中後點擊編輯,出現接下來的「編輯環境變數」窗口。這個窗口中顯示的便是計算機中已經配置好的環境變數,在此為了不破壞掉其他的變數,請不要對其他的內容做任何的操作,點擊"新建"即可。
點擊「新建」後窗口中會自動添加一項空白待填寫的輸入框,在其中輸入Python的根目錄即可。如圖所示。接下來確定保存。這個時候再WIN+R -> cmd打開命令窗口,輸入「python「 ,確認環境變數的配置成功。以上便是Win10如何配置Python環境變數。
③ pycharm如何配置python環境
pycharm配置python環境的方法是:1、依次點擊【File】、【Project Interpreter】;2、點擊【Show All】,選擇【Existing Environment】;3、選擇python的安裝路徑,點擊OK即可。
配置方法:
(推薦學習:Python入門教程)
1、打開軟體,依次點擊【File】→【Settings】→【Project】→【Project Interpreter】,這樣我們就進入了配置Python環境的界面;
2、點擊小齒輪,在彈出的選項中點擊【Show All】,然後在彈出的窗口中點擊【+】號,進入配置頁面;
3、接著我們可以選擇【New Environment】或【Existing Environment】,建議選擇【Existing Environment】,然後根據自己安裝Python的路徑,找到Python.exe,然後勾選【make avaliable to all projects】,將該Python環境應用到所有的項目,點擊OK;
4、完成上述步驟後,我們就進入了如下頁面,這里是我們當前配置的Python環境中包含的庫信息,點擊【OK】,即可完成我們的Python環境配置。
④ python 如何修改配置文件(ini)的section名稱
deffunc():
input=open(r"c: est.ini")
lines=input.readlines()
input.close()
output=open(r"c: ewest.ini",'w');
forlineinlines:
ifnotline:
break
if'name'inline:
temp=line.split("name")
temp1=temp[0]+'myname'+temp[1]
output.write(temp1)
else:
output.write(line)
output.close()
if__name__=='__main__':
func()
⑤ python如何獲取HMC狀態並修改資源 配置
idle和linux命令行環境下,用input()和raw_input()就可以了...注意3.X中沒有raw_input();
如果是tk圖形界面,你用Entry控制項就可以了,獲取輸入可以用Entry的get()方法。
⑥ 如何配置python的環境變數
1. 首先需要在系統中注冊python環境變數:假設python的安裝路徑為c:\python2.6,則修改我的電腦->屬性->高級->環境變數->系統變數中的PATH為:
(為了在命令行模式下運行Python命令,需要將python.exe所在的目錄附加到PATH這個環境變數中。)
PATH=PATH;c:\python26
上述環境變數設置成功之後,就可以在命令行直接使用python命令。或執行"python *.py"運行python腳本了。
2. 此時,還是只能通過"python *.py"運行python腳本,若希望直接運行*.py,只需再修改另一個環境變數PATHEXT:
PATHEXT=PATHEXT;.PY;.PYM
3. 另外,在使用python的過程中,可能需要經常查看某個命令的幫助文檔,如使用help('print')查看print命令的使用說明。默認安裝的python無法查看幫助文檔,尚需進行簡單的配置:
在python安裝目錄下,找到python25.chm,使用
hh -decompile .python26.chm
將其反編譯出來,然後將其所在的目錄加入到上面提到的PATH環境變數中即可。
4. 如何使Python解釋器能直接import默認安裝路徑以外的第三方模塊?
為了能import默認安裝路徑以外的第三方的模塊(如自己寫的模塊),需要新建PYTHONPATH環境變數,值為這個模塊所在的目錄。
⑦ win7如何配置Python環境變數
win7配置Python環境變數的兩種方法是:1、點擊「我的電腦→屬性→高級」標簽下的「環境變數」按鈕設置,在最後添加「;D:/Python」;2、利用cmd命令行輸入:「path=%path%;D:/Python」即可將環境變數更改。
環境變數是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變數,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設置環境變數,來更好的運行進程。知道了環境變數是什麼?那麼win7系統中的環境變數path又該如何去設置呢?
設置環境變數有兩種方式:第一種是在命令提示符運行窗口中設置;第二種是通過單擊「我的電腦→屬性→高級」標簽的「環境變數」按鈕設置。需要注意的是,第一種設置環境變數的方式只對當前運行窗口有效,關閉運行窗口後,設置就不起作用了,而第二種設置環境變數的方式則是永久有效。如圖1所示
第二種方法是:
1、在「開始→運行」框中輸入「cmd」後按「確定」按鈕,出現命令運行窗口。在命令提示符下輸入「path」即可查看環境變數設置。如圖2所示
如何更改一個環境變數的設置呢?更改環境變數有兩種情況:
一是追加方式,即在不改變環境變數現有設置的情況下,增加變數的值,比如要給環境變數增加一個值為「D:/Python」的設置,可以輸入「path=%path%;D:/Python」。
另一種是完全修改方式,對於這種方式,我們可以採用直接創建一個環境變數的方法來實現。
第二種:win7下修改環境變數PATH
windows系統環境變數說明
%USERPROFILE%表示C:DocumentsandSettings當前用戶名
%ALLUSERSPROFILE%表示C:DocumentsandSettingsAllUsers
%APPDATA%表示C:DocumentsandSettings當前用戶名ApplicationData
%ALLAPPDATA%表示C:
%SYSTEMDRIVE%表示C:
%HOMEDRIVE%表示C:
%SYSTEMROOT%表示C:WINDOWS
%WINDIR%表示C:WINDOWS
%TEMP%和%TMP%表示C:DocumentsandSettings當前用戶名LocalSettingsTemp
%ProgramFiles%表示C:ProgramFiles
%CommonProgramFiles%表示C:ProgramFilesCommonFiles
環境變數設置方法就介紹到這里了,希望對這方面設置有需求的用戶有所幫助。
推薦課程:零基礎學Python語言CAP(嵩天教授)
⑧ 如何進行python項目配置管理這才是你最需要的python技術
每次開始一個新的 Python 項目,我都會為怎麼管理配置文件而頭疼。不過在遷移我的博客時,終於有空花了點時間,把這件事想清楚。
一年多的時間過去了,一切似乎都很順利,連我在知乎所做的新項目也沿用了該方案,於是決定把解決方案記錄下來。
先說說我要解決什麼哪些Python項目的配置管理問題吧:
可以區分各種環境。
在開發、測試和生產等環境,都可能用到不同的配置,所以能區分它們是一個很基本的需求。
可以有通用的配置項。
各種環境的配置中,需要修改的只佔一小部分。因此通用的部分應該不需要重復定義,否則會帶來維護成本。
可以分成多個部分/模塊。
隨著Python項目的配置管理項的增多,找起配置來會花大量時間,所以劃分它們對維護配置很有幫助。
可以直接使用 Python 代碼。
從文本文件中解析出變數值太麻煩,而且不方便生成批量的數據(例如數組),也不好通過函數調用來生成配置值(例如獲取文件路徑)。
可以將公開和私有的配置文件分開管理。
在開源項目中,應只包含公開的配置項,而不包含私有的配置。不過這個需求對私有項目而言,沒什麼意義。
工作中我先後使用了幾種Python項目的配置管理方式,主要使用的就兩種:
為每個環境分別寫一個配置文件,到相應的環境里,將該環境的配置文件軟鏈接到正確的路徑。
如何進行python項目配置管理?使用分布式的配置服務,從遠程獲取配置。
前者用起來其實蠻麻煩的,特別是想在本地跑單元測試時,需要替換成單元測試環境的配置文件。所以我又把環境變數給加了進來,檢測到指定的環境變數,就載入單元測試的配置。而其他幾個需求也能勉強實現,不過並不優雅。
後者不能直接使用 Python 代碼,網路不好時需要降級成使用本地緩存,獲取配置伺服器的地址需要配置,配置伺服器自己也需要配置,而且配置伺服器還可能掛掉(知乎內網遇到過全部五台配置伺服器都掛掉的情況),所以我用得比較少。
其實仔細想想就能發現,「使用 Python 代碼」也就意味著是 Python 源文件,「有通用的配置項」用 Python 實現就是繼承,似乎沒更好的選擇了。
如何進行python項目配置管理?於是定義一個 Config 類,讓其他環境的配置都繼承這個類:
# config/default.pyclass Config(object):
DEBUG_MODE = True
PORT = 12345
COOKIE_SECRET = 'default'
REDIS_CONFIG = {'host': 'localhost', 'port': 6379, 'db': 0} # ...
# config/development.pyfrom .default import Configclass DevelopmentConfig(Config):
COOKIE_SECRET = 'dev'
# config/unit_testing.pyfrom .default import Configclass UnitTestingConfig(Config):
REDIS_CONFIG = {'host': 'localhost', 'port': 6379, 'db': 1}
# config/proction.pyfrom .default import Configclass ProctionConfig(Config):
COOKIE_SECRET = '...'
REDIS_CONFIG = {'unix_socket_path': '/tmp/redis.sock'}
為了讓每種環境都只有一個配置生效,還需要加一個策略:[page]
# config/__init__.pyimport loggingimport os
env = os.getenv('ENV') # 可以改成其他名字,自己進行設置try: if env == 'PRODUCTION': from .proction import
ProctionConfig as CONFIG
logging.info('Proction config loaded.') elif env == 'TESTING': from .testing import TestingConfig as CONFIG
logging.info('Testing config loaded.') elif env == 'UNIT_TESTING': from .unit_testing import UnitTestingConfig as
CONFIG
logging.info('Unit testing config loaded.') else: # 默認使用本地開發環境的配置,省去設置環境變數的環節
from .development import DevelopmentConfig as CONFIG
logging.info('Development config loaded.')except ImportError:
logging.warning('Loading config for %s environment failed, use default config instead.', env or 'unspecified')
from .default import Config as CONFIG
這樣只需要在跑應用前,設置不同的環境變數即可。如果是用 Supervisor 維護進程的話,加上一行environment = ENV="PRODUCTION"配置即可。
當然還可以加其他的規則,例如沒環境變數時,再檢查機器名等。
如何進行python項目配置管理?現在前兩個需求都解決了,再來看分模塊的功能。
這個需求正好對應 Python 的 package,於是把每個Python項目的配置管理文件改成一個 package 即可。接著是如何同時滿足第二和第三個需求。
舉例來說,有這樣的配置:
# config/default.pyclass Config(object):
ROOT_PATH = '/'
LOGIN_PATH = ROOT_PATH + 'login'
SCHEME = 'http'
DOMAIN = 'localhost'
ROOT_URL = '%s://%s%s' % (SCHEME, DOMAIN, ROOT_PATH)
# config/proction.pyfrom .default import Configclass ProctionConfig(Config):
ROOT_PATH = '/blog/'
LOGIN_PATH = ROOT_PATH + 'login'
DOMAIN = 'www.keakon.net'
ROOT_URL = '%s://%s%s' % (Config.SCHEME, DOMAIN, ROOT_PATH)
其中,LOGIN_PATH 和 LOGIN_URL 的設置邏輯其實是一樣的,但值卻不同,在 ProctionConfig 中重新賦值一次有點不太優雅。
於是把這些設置提取出來,在基本設置初始化以後,再進行設置:
class _AfterMeta(type):
def __init__(cls, name, bases, dct):
super(_AfterMeta, cls).__init__(name, bases, dct)
cls._after()class Config(object):
__metaclass__ = _AfterMeta
ROOT_PATH = '/'
SCHEME = 'http'
DOMAIN = 'localhost' @classmethod
def _after(cls):
cls.LOGIN_PATH = cls.ROOT_PATH + 'login'
cls.ROOT_URL = '%s://%s%s' % (cls.SCHEME, cls.DOMAIN, cls.ROOT_PATH)
# config/proction.pyfrom .default import Configclass ProctionConfig(Config):
ROOT_PATH = '/blog/'
DOMAIN = 'www.keakon.net'
如何進行python項目配置管理?所有有依賴的設置項,都在 _after 方法里賦值即可。
不過這樣可能導致靜態檢查和代碼提示出問題,而且使得所有子類都重新定義這些屬性,即便沒有修改父類的屬性,或是覆蓋掉手動設置的值。所以可以再修改一下:[page]
class _AfterMeta(type):
def __init__(cls, name, bases, dct):
super(_AfterMeta, cls).__init__(name, bases, dct)
cls._after(dct)class Config(object):
__metaclass__ = _AfterMeta
ROOT_PATH = '/'
LOGIN_PATH = ROOT_PATH + 'login'
SCHEME = 'http'
DOMAIN = 'localhost'
ROOT_URL = '%s://%s%s' % (SCHEME, DOMAIN, ROOT_PATH) @classmethod
def _after(cls, own_attrs):
if 'LOGIN_PATH' not in own_attrs and 'ROOT_PATH' in own_attrs:
cls.LOGIN_PATH = cls.ROOT_PATH + 'login'
if 'ROOT_URL' not in own_attrs and ('SCHEME' in own_attrs or 'DOMAIN' in own_attrs or 'ROOT_PATH' in
own_attrs):
cls.ROOT_URL = '%s://%s%s' % (cls.SCHEME, cls.DOMAIN, cls.ROOT_PATH)
雖然問題是解決了,不過代碼量似乎大了點,寫起來很麻煩。只是似乎也沒有更好解決辦法,所幸這類配置並不多,所以重寫一次倒也無妨。
最後只剩下分離公開和私有配置這個需求了。
既然要有私有配置,很容易想到的就是把私有配置放在另一個倉庫里,再 link 到配置文件夾即可:
└── config
├── __init__.py
├── default.py
├── development.py -> private/development.py
├── development_sample.py
├── private (cloned from another private repository)
│ ├── development.py
│ └── proction.py
├── proction.py -> private/proction.py
└── proction_sample.py
為了避免文件被提交到公共倉庫,私有的配置文件可以加到 .gitignore 里。
順帶一提,我的博客數據全存放在 Redis 中,備份時只要備份 rdb 文件即可。不過用另一台伺服器來備份顯得太奢侈了,所以我在伺服器上裝了個 Dropbox,然後把 Dropbox 文件夾里的數據文件夾 link 到博客的數據文件夾里,即:
doodle
└── data
└── redis -> ~/Dropbox/doodle/redis
這樣一旦文件有改動,Dropbox 就會自動進行備份,而且保留了所有的歷史版本,簡直完美。
如何進行python項目配置管理?這才是你最需要的python技術,我用於創建和管理虛擬環境的模塊稱為 venv。venv 通常會安裝你可用的最新版本的 Python。如果您的系統上有多個版本的 Python,你能處理好嗎?如果您還擔心自己入門不順利,那麼本科目的其他文章一定會幫助你。
⑨ 如何用python來修改配置文件conf
樓上的倆人回答綜合一下就是完美的答案,文件打開方式file.open。但是這種方式比較low,但是如果就是一簡單的讀寫文件用著方便,configparser是專門的conf庫,有一點點(只是一點點)學習成本,但是也很方便。推薦後者。
⑩ 之前安裝的python刪除了後重新下載了一個但環境配置的path是之前的怎麼修改
如果對PATH不太理解的話,建議不要手動修改。採用下面的處理方式更友好一些:
(1)按常規途徑卸載Python,這樣可以保證同時將PATH內的相關路徑刪除;
(2)重新安裝Python,在安裝時勾選「Add Python to Path(類似表述)」即可自動配置Python的PATH。
這時的環境變數就是正確可用的。