python中的 conf中的settings文件主要写啥内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的 conf中的settings文件主要写啥内容相关的知识,希望对你有一定的参考价值。

参考技术A 主要是一些编译和显示配置。。 参考技术B

给你一个例子:

import os
import logging

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print('\\033[31;1m当前代码所在路径 BASE_DIR = %s\\033[0m' % BASE_DIR)

ACCOUNT_DATABASE = 
    'engine': 'file_storage',
    'name': 'accounts',
    'path': "%s/db" % BASE_DIR


BASE_DATABASE = 
    'engine': 'file_storage',
    'name': 'base',
    'path': "%s/db" % BASE_DIR


LOG_LEVEL = logging.INFO
LOG_TYPES = 
    'system': 'system.log',


AUTHORITY = 
    'student': 1,
    'teacher': 2,
    'admin': 8


STATUS = 
    'normal': 1,
    'locked': 2

本回答被提问者采纳

使用 ConfigParser Python 更改 ini 文件中的值

【中文标题】使用 ConfigParser Python 更改 ini 文件中的值【英文标题】:Change value in ini file using ConfigParser Python 【发布时间】:2015-03-13 21:18:11 【问题描述】:

所以,我有这个 settings.ini :

[SETTINGS]

value = 1

还有这个python脚本

from ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('settings.ini')

print parser.get('SETTINGS', 'value')

如您所见,我想读取值“1”并将其替换为另一个值。到目前为止,我所能做的就是阅读它。我在网上搜索了如何替换它,但没有找到。

【问题讨论】:

【参考方案1】:

Python 官方docs on configparser 说明了如何读取、修改和编写配置文件。

import configparser

config = configparser.ConfigParser()
config.read('settings.ini')
config.set('SETTINGS', 'value','15')

with open('settings.ini', 'w') as configfile:
    config.write(configfile)

【讨论】:

【参考方案2】:

我遇到了问题:with open

其他方式:

import configparser

def set_value_in_property_file(file_path, section, key, value):
    config = configparser.RawConfigParser()
    config.read(file_path)
    config.set(section,key,value)                         
    cfgfile = open(file_path,'w')
    config.write(cfgfile, space_around_delimiters=False)  # use flag in case case you need to avoid white space.
    cfgfile.close()

可用于修改java属性文件:file.properties

【讨论】:

删除了我原来的 config.ini 文件 @skpro19 我在 linux 上再次尝试并获胜。 ini 和属性文件的行为相同。删除文件没有问题。赢 (python 3.4.1) linux (python 3.6.8)。我正在尝试各种文件/目录访问配置 不需要证明为什么不使用with open ..。您的解决方案有效。只有评论有一个小错字(“case case”)和Java相关的properties file注释在这里有点混乱,因为问题是关于INI file?️【参考方案3】:

以下示例将帮助更改 ini 文件中的值:

PROJECT_HOME="/test/"
parser = ConfigParser()
parser.read("/conf/cdc_config.ini".format(PROJECT_HOME))
parser.set("default","project_home",str(PROJECT_HOME))


with open('/conf/cdc_config.ini'.format(PROJECT_HOME), 'w') as configfile:
    parser.write(configfile)
[default]
project_home = /Mypath/

【讨论】:

【参考方案4】:

从文档的例子来看:

https://docs.python.org/2/library/configparser.html

parser.set('SETTINGS', 'value', '15')


# Writing our configuration file to 'example.ini'
with open('example.ini', 'wb') as configfile:
    parser.write(configfile)

【讨论】:

对于 Python 3.5+,你必须使用 'w',而不是 'wb'! SafeConfigParser deprecated ``` DeprecationWarning: SafeConfigParser 类已在 Python 3.2 中重命名为 ConfigParser。此别名将在以后的版本中删除。直接使用 ConfigParser。 'os':operating_system, 'arch':arch) ``` 如果你让你的代码成为一个完整的例子,它会显示parser的声明并且文件名将匹配给定的问题,即'settings.ini'以实际更改文件内容.

以上是关于python中的 conf中的settings文件主要写啥内容的主要内容,如果未能解决你的问题,请参考以下文章

python--ConfigParser读写改配置文件

Java_SSMmaven中的配置文件setting的配置

python软件开发规范

Maven远程仓库镜像

maven中的jar包未下载完全如何解决?

如何从python中的两个文件中找到常用的模式集?