使用python读写配置文件,写个demo测试一下。

#!/usr/bin/env python

import os

import ConfigParser

# 如果文件不存在,就穿件文件。
if os.path.isfile(os.getcwd() + '/sql.conf') == False:
cfg = ConfigParser.ConfigParser()
cfg.add_section('remote') # 添加section
cfg.set('remote', 'ip' ,'192.168.3.123') # 添加字段
cfg.set('remote', 'port' ,'40949')
cfg.set('remote', 'user' ,'tony')
cfg.set('remote', 'password' ,'tony')
cfg.set('remote', 'table' ,'real_tabel') cfg.add_section('localhost')
cfg.set('localhost', 'ip' ,'127.0.0.1')
cfg.set('localhost', 'port' ,'3306')
cfg.set('localhost', 'user' ,'root')
cfg.set('localhost', 'password' ,'root') cfg.add_section('interval')
cfg.set('interval', 'heartbeat', '1')
cfg.set('interval', 'upload_data', '5') cfg.write(open(os.getcwd() + '/sql.conf', 'w+')) # 文件存在就打印出来
else:
cfg = ConfigParser.ConfigParser()
cfg.read(os.getcwd() + '/sql.conf')
print cfg.items('remote') # 获取remote中的所有内容,返回字典。
print cfg.get('remote', 'ip') # 获取remote中,ip的值
print cfg.getint('remote', 'port') # 获取remote中,port的值,并转为int型
print cfg.get('remote', 'user')
print cfg.get('remote', 'password')
print cfg.get('remote', 'table') print cfg.items('localhost')
print cfg.get('remote', 'ip')
print cfg.getint('remote', 'port')
print cfg.get('remote', 'user')
print cfg.get('remote', 'password') print cfg.items('interval')
print cfg.get('interval', 'heartbeat')
print cfg.get('interval', 'upload_data')

第一次运行创建文件

[remote]
ip = 192.168.3.123
port = 40949
user = tony
password = tony
table = real_tabel [localhost]
ip = 127.0.0.1
port = 3306
user = root
password = root [interval]
heartbeat = 1
upload_data = 5

第二次输出结果。

[('ip', '192.168.3.123'), ('port', '40949'), ('user', 'tony'), ('password', 'tony'), ('table', 'real_tabel')]
192.168.3.123
40949
tony
tony
real_tabel
[('ip', '127.0.0.1'), ('port', '3306'), ('user', 'root'), ('password', 'root')]
192.168.3.123
40949
tony
tony
[('heartbeat', '1'), ('upload_data', '5')]
1
5

Tony Liu

2017-6-9, Shenzhen

python 读写配置文件的更多相关文章

  1. python读写配置文件使用总结与避坑指南

    关于今天的内容 最近拿python在写项目部署的相关集成代码,本来两天的工作量,硬是在来回的需求变更中,拖到了一周的时间.今天算是暂时告一段落了.这次由于涉及多个系统的调用和配置参数,代码开发中出现了 ...

  2. Python读写配置文件模块--Configobj

    一.介绍 我们在项目的开发过程中应该会遇到这样的问题:我们的项目读取某个配置文件,然后才能按照配置的信息正常运行服务,当我们需要对修改服务的某些信息时,可以直接修改这个配置文件,重启服务即可,不用再去 ...

  3. python读写配置文件

    #coding:utf-8 import ConfigParser class Conf(): def __init__(self,name): self.name = name self.cp = ...

  4. python-ConfigParser模块【读写配置文件】

    对python 读写配置文件的具体方案的介绍 1,函数介绍 import configParser 如果Configparser无效将导入的configParser 的C小写 1.1.读取配置文件 - ...

  5. 【python】配置文件

    来源:http://developer.51cto.com/art/201003/189885.htm python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案, ...

  6. Python-通过configparser读写配置文件

    Python读写配置文件: 1.创建配置文件(文件名以.conf或.ini结束的文件表示配置文件) 2.导入所需模块 OS, configparser >>> import os & ...

  7. 用ConfigParser模块读写配置文件——Python

    对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...

  8. Python自动化测试 (二) ConfigParser模块读写配置文件

    ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section,    section 下有op ...

  9. Python自动化测试 -ConfigParser模块读写配置文件

    C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...

随机推荐

  1. 根据第三方提供的webservice地址获取文件信息

    import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.en ...

  2. Flume中的HDFS Sink配置参数说明【转】

    转:http://lxw1234.com/archives/2015/10/527.htm 关键字:flume.hdfs.sink.配置参数 Flume中的HDFS Sink应该是非常常用的,其中的配 ...

  3. RIFF格式简介

    Resource Interchange File Format(简称RIFF),资源交换文件格式,是一种按照标记区块存储数据(tagged chunks)的通用文件存储格式,多用于存储音频.视频等多 ...

  4. 如何在Windows环境下模拟丢包

    [本文出自天外归云的博客园] Q&A Question: How to simulate packet loss on Windows? Answer: Clumsy, an utility ...

  5. JAVA-JSP内置对象之request获得所有的参数名称

    相关资料:<21天学通Java Web开发> 获得所有的参数名称1.request对象的getParameterNames()方法可以获得所有的参数名称. RequestForm2.jsp ...

  6. C#学习笔记(2)——操作sqlite数据库增删改查

    说明(2017-5-25 10:49:50): 1. app.config文件 Alt+Shift+C创建类,选择“应用程序配置文件”,添加<connectionStrings>,要先打个 ...

  7. win7+python3.6+word_cloud 安装出现Microsoft Visual C++ 14.0 is required

    说明 环境: 已安装Anaconda3 (64-bit) 4.4.0(Python 3.6.1).其中,代码调试在Spyder 3.1.4中进行,安装包则直接打开Anaconda Prompt调用cm ...

  8. java基础篇---I/O技术(三)

    接上一篇java基础篇---I/O技术(二) Java对象的序列化和反序列化 什么叫对象的序列化和反序列化 要想完成对象的输入或输出,还必须依靠对象输出流(ObjectOutputStream)和对象 ...

  9. 解决mysql group by和count同时使用的问题

    例如这样一个表,我想统计email和passwords都不相同的记录的条数 CREATE TABLE IF NOT EXISTS `test_users` ( `email_id` ) unsigne ...

  10. [转]oracle存储过程中update不成功的一个原因

    原文地址:http://lin49940.iteye.com/blog/466626 今天一个同事写oracle 的存储过程遇到了一个问题, 他在里面update 操作不能完成更新的操作, 但是又不会 ...