首页 > 代码库 > 2016/09/23
2016/09/23
1. Configparser
# configparser用于处理特定格式的文件,其本质上是利用open来操作文件。import configparserconfig = configparser.ConfigParser()config.read(‘f1‘,encoding=‘utf-8‘)# 获取所有节点ret_1 = config.sections()print(ret_1)# 获取指定节点下所有的键值对ret_2 = config.items(‘section1‘)print(ret_2)# 获取指定节点下所有的键ret_3 = config.options(‘section1‘)print(ret_3)# 获取指定节点下指定key的值v1 = config.get(‘section1‘,‘k1‘)v2 = config.getint(‘section4‘,‘k4‘)v3 = config.getfloat(‘section5‘,‘k5‘)v4 = config.getboolean(‘section6‘,‘k6‘)print(v1)print(v2)print(v3)print(v4)# 检查节点has_sec = config.has_section(‘section7‘)print(has_sec)# 添加节点config.add_section(‘SEC_1‘)config.write(open(‘f2‘,‘w‘))# 删除节点config.remove_section(‘SEC_1‘)config.write(open(‘f3‘,‘w‘))# 检查指定组内的键值对has_opt = config.has_option(‘section1‘,‘k1‘)print(has_opt)# 删除指定组内的键值对config.remove_option(‘section1‘,‘k1‘)config.write(open(‘f4‘,‘w‘))# 设置指定组内的键值对config.set(‘section1‘,‘k10‘,‘123‘)config.write(open(‘f5‘,‘w‘))
2. XML
- traveral
from xml.etree import ElementTree as ET# A.利用ElementTree.XML将字符串解析成xml对象# str_xml = open(‘xo.xml‘,‘r‘).read() # 打开文件,读取XML内同# root = ET.XML(str_xml) # 将字符串解析成xml特殊对象,root代指xml文件的根节点# print(root)# B.利用ElementTree.parse将文件直接解析成xml对象tree = ET.parse(‘xo.xml‘) # 直接解析xml文件root = tree.getroot() # 获取xml文件的根节点# print(root) # <Element ‘data‘ at 0x0000018AC8B445E8># a. 遍历XML文档的所有内容# print(root.tag) # data 顶层标签## for child in root: # 遍历XML文档的第二层# print(child.tag, child.attrib) # 第二层节点的标签名称和标签属性和内容# for i in child: # 遍历XML文档的第三层# print(‘\t‘, i.tag, i.attrib, i.text) # 第三层节点的标签名称和属性和内容# b.遍历XML中指定的节点print(root.tag)for node in root.iter(‘rank‘): # 遍历XML中所有的year节点 print(node.tag, node.text) # 节点的标签名称和内容
- modify
# 解析字符串方式,修改,保存# from xml.etree import ElementTree as ET# str_xml = open(‘xo.xml‘, ‘r‘).read() # 利用ElementTree.XML将字符串解析成xml对象# root = ET.XML(str_xml) # root为根节点# print(root.tag)## for node in root.iter(‘year‘): # 循环所有的year节点# new_year = int(node.text) + 1 # year节点的内容加1# node.text = str(new_year) # year节点内容更新## node.set(‘name‘, ‘alex‘) # 设置year节点的属性# node.set(‘age‘, ‘19‘) # 设置year节点的属性## del node.attrib[‘name‘] # 删除year节点的某属性## tree = ET.ElementTree(root) # 创建tree# tree.write(‘xo1.xml‘, encoding=‘utf-8‘) # 保存文件# 解析文件方式,修改,保存from xml.etree import ElementTree as ETtree = ET.parse(‘xo.xml‘) # 直接解析xml文件root = tree.getroot() # 获取xml文件的根节点for node in root.iter(‘year‘): # 循环所有的year节点 new_year = int(node.text) + 1 # year节点的内容加1 node.text = str(new_year) # year节点内容更新 node.set(‘name‘, ‘alex‘) # 设置year节点的属性 node.set(‘age‘, ‘19‘) # 设置year节点的属性 del node.attrib[‘name‘] # 删除year节点的某属性tree.write(‘xo2.xml‘, encoding=‘utf-8‘) # 保存文件
- delete
# 解析字符串方式,删除,保存# from xml.etree import ElementTree as ET# str_xml = open(‘xo.xml‘, ‘r‘).read() # 利用ElementTree.XML将字符串解析成xml对象# root = ET.XML(str_xml) # root为根节点# print(root.tag)## for country in root.findall(‘country‘):# rank = int(country.find(‘rank‘).text)# if rank > 90:# root.remove(country)## tree = ET.ElementTree(root) # 创建tree# tree.write(‘xo3.xml‘, encoding=‘utf-8‘) # 保存文件# 解析文件方式,删除节点,保存# from xml.etree import ElementTree as ET# tree = ET.parse(‘xo.xml‘) # 直接解析xml文件# root = tree.getroot() # 获取xml文件的根节点## for country in root.findall(‘country‘):# rank = int(country.find(‘rank‘).text)# if rank > 50:# root.remove(country)## tree.write(‘xo3.xml‘, encoding=‘utf-8‘) # 保存文件
3. Pycharm tips
- 基本设置
- 不使用tab、tab=4空格:Editor>Code Style>Python
- 字体、字体颜色:Edit>Colors & Fonts>Python
- 关闭自动更新:Appearance & Behavior>System Settings>Updates
- 脚本头设置:Edit>File and Code Templates>Python Script 注:其他类似
- 显示行号:Edit>General>Appearance>Show line numbers 注:2016.2默认显示行号
- 右侧竖线是PEP8的代码规范,提示一行不要超过120个字符
- 导出、导入你自定义的配置: File>Export Settings、Import Settings
- 常用快捷键,例如复制当前行、删除当前行、批量注释、缩进、查找和替换。
- 常用快捷键的查询和配置:Keymap
- Ctrl + D:复制当前行
- Ctrl + Y:删除当前行
- Shift + Enter:快速换
- Ctrl + /:快速注释(选中多行后可以批量注释)
- Tab:缩进当前行(选中多行后可以批量缩进)
- Shift + Tab:取消缩进(选中多行后可以批量取消缩进)
- Ctrl + F:查找
- Ctrl + R:替换
- 常用操作指南
- 复制文件路径:左侧文件列表右键选中的文件>Copy Path
- 在文件管理器中打开:右键选中的文件>往下找到Show In Explorer
- 快速定位:Ctrl + 某些内建模块之后,点击在源文件中展开
- 查看结构:IDE左侧边栏Structure 查看当前项目的结构
- tab批量换space:Edit>Convert Indents
- TODO的使用:# TODO 要记录的事情
- Debug设置断点,直接点击行号与代码之间的空白处即可设置断点(视频里忘了说)
- Tab页上右键>Move Right(Down),把当前Tab页移到窗口右边(下边),方便对比
- 文件中右键>Local History能够查看文件修改前后的对比
- IDE右下角能看到一些有用的信息,光标当前在第几行的第几个字符、当前回车换行、当前编码类型、当前Git分支
- IDE右侧边栏>Database
- 单独一行的注释:#+1空格+注释内容
- 代码后跟着的注释:2空格+#+1空格+注释内容
2016/09/23