今天做一个ATM的练习,想要用configparser模块,写一个配置文件,存放用户信息。

结果状况连连,叫苦不迭。

我用configparser模块,想要对配置文件,进行读、写、改、查 功能。

其中 功能 和 功能 根据视频教程里教的,都没有出什么大问题。

写:

# coding=gbk
import os,json,sys
import configparser
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR) #初始化用户信息(包括:银行管理账户,商城用户账户,信用卡用户账户)
a=configparser.ConfigParser()
a['DEFAULT']={
'默认':''
}
a['商城用户']={
'uid':'张三',
'pwd':''
}
a['银行root']={
'uid':'root',
'pwd':''
}
a['信用卡用户1']={
'uid':'user1',
'pwd':'',
'存款':'',
'额度':'',
'冻结':'False'
}
a['信用卡用户2']={
'uid':'user2',
'pwd':'',
'存款':'',
'额度':'',
'冻结':'False'
}
with open(BASE_DIR + os.sep + 'conf' + os.sep + '用户信息.ini','w') as b:
a.write(b)

读:

    a = configparser.ConfigParser()
a.read(BASE_DIR + os.sep + 'conf' + os.sep + '用户信息.ini')

改:!!!!重大注意!!!

    a = configparser.ConfigParser()
a.read(BASE_DIR + os.sep + 'conf' + os.sep + '用户信息.ini')
a.set(x, '冻结', 'False')
with open(BASE_DIR + os.sep + 'conf' + os.sep + '用户信息.ini', 'w')as f:
a.write(f)

增:!!!!重大注意!!!!

a=configparser.ConfigParser()
a.read(BASE_DIR+os.sep+'conf'+os.sep+'用户信息.ini')
a.add_section(x)
a.set(x,'uid',y)
a.set(x,'pwd',z)
a.set(x,'存款','')
a.set(x,'额度','')
a.set(x,'冻结','False')
with open(BASE_DIR+os.sep+'conf'+os.sep+'用户信息.ini','w')as f:
a.write(f)

一定要注意两点,第一:每一次增和改操作,都要用一次读和一次写夹住。第二:不论是键还是值,都必须要是字符串类型,不然会报错!

视频教程中,讲师为了吹python的强大程度,说pyhton中的配置文件跟字典基本一样,让人听了很容易混淆!

其实配置文件跟字典的差别还是很大的!跟普通文件也不一样!

今天因为这两点,卡了我一整天,真是郁闷死啦!

pyhton 关于 configparser 配置 模块 实践使用中碰到的坑的更多相关文章

  1. Python-selenium,使用SenKey模块时所碰到的坑

    一.SenKey模块(模拟鼠标键盘操作) :python3中没有该模块,使用PyUserInput模块代替 二.PyUserInput模块安装前需要安装:pywin32和pyHook模块,pywin3 ...

  2. cordova + ionic 使用中碰到的一些问题

    cordova + ionic 使用中碰到的一些问题     No Content-Security-Policy meta tag found. Please add one when using ...

  3. Abp通用配置模块的设计

    引言 约定优于配置,配置趋于灵活 约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处, ...

  4. vagrant 虚拟机配置最佳实践

    Mac VirtualBox Vagrant 管理虚拟机 这篇文章定位是在理解了 vagrant 相关概念之后,教你如何灵活玩转自己的虚拟机配置 本文为 @favoorr 常用的 Mac Virtua ...

  5. Elasticsearch优化 & filebeat配置文件优化 & logstash格式配置 & grok实践

    Elasticsearch优化 & filebeat配置文件优化 & logstash格式配置 & grok实践 编码转换问题(主要就是中文乱码) (1)input 中的cod ...

  6. 如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南

    0x00 前言简述 SSL/TLS 简单说明 描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安 ...

  7. atitit.spring3 mvc url配置最佳实践

    atitit.spring3 mvc url配置最佳实践 1. Url-pattern  bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. ...

  8. Thinkphp3.2———配置模块

    一.配置格式 Thinkphp框架中的所有配置都是数组形式定义的的格式为: //项目配置 return array( 'DEFAULT_MODULE'=>'Index',//默认模块 'URL_ ...

  9. Spring Boot 揭秘与实战 自己实现一个简单的自动配置模块

    文章目录 1. 实战的开端 – Maven搭建 2. 参数的配置 - 属性参数类 3. 真的很简单 - 简单的服务类 4. 自动配置的核心 - 自动配置类 5. spring.factories 不要 ...

随机推荐

  1. LINUX 笔记-iostat命令

    显示CPU和I/O统计信息 iostat的不带参数的显示CPU和I/ O的所有分区的统计信息 -c Display the CPU utilization report. -d Display the ...

  2. [JAVA第二课] java命名规则

    Java良好的命名规则以及代码风格可以看出来一个程序员的功底,好多公司也会注重这方面,他们招聘员工在有些时候往往就是根据一个人的代码风格来招人,所以下面就就我知道的代码风格作简要的说明一下.Java命 ...

  3. Java基础(00)

    Java发展史 Java之父:詹姆斯.高斯林(James Gosling). SUN(Stanford University Network 斯坦福大学网络公司)产物. 1995年5月23日,java ...

  4. Java基础笔记10

    类的设计分析: 1.根据需求抽取属性.(名词几乎都是属性) 2.属性私有化(private) 3.生成setter和getter方法 4.可以根据需要添加构造函数. 5.根据需求抽取其他方法.(动词几 ...

  5. css3+div画大风车

    今天已经礼拜三了,周天小颖家的佩佩就要结婚啦,小颖要去当伴娘了,哈哈哈哈哈哈,想想都觉得乐开了花,不过之前她给我说让我当她伴娘时,我说我要减肥,不然她那么瘦弱,我站旁边就感觉像一个圆滚滚的小皮球,小颖 ...

  6. Spring框架学习之高级依赖关系配置(一)

    上篇文章我们对Spring做了初步的学习,了解了基本的依赖注入思想.学会简单的配置bean.能够使用Spring容器管理我们的bean实例等.但这还只是相对较浅显的内容,本篇将介绍bean的相关更高级 ...

  7. poj 2486 Apple Tree(树形DP 状态方程有点难想)

    Apple Tree Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9808   Accepted: 3260 Descri ...

  8. 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest J Cleaner Robot

    Cleaner RobotCrawling in process... Crawling failed Time Limit:2000MS     Memory Limit:524288KB     ...

  9. Linux学习(十六)VIM

    一.简介 VIM是vi的增强版.VIM是Linux平台上的主要编辑器.基本上所有的文档的新增,修改,保存都需要用到它.所以,掌握VIM是很有必要的. vim的安装非常简单,一条命令就可以了: yum ...

  10. 网络基础一 交换机 路由器 OSI7层模型

    第1章 网络基础 1.1 网络的出现 解决计算机通讯的需求 实现计算机信息可以传递 1.2 主机之间实现通讯基本要求(三要素) ①. 需要在两台主机之间建立物理连接,物理连接的方式有网线 光纤线 wi ...