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。
这时的环境变量就是正确可用的。