python之day7

今日上课的主要内容

一,模块:

二,面向对象(上):

作业(计算器):

http://www.cnblogs.com/wupeiqi/articles/4949995.html

模块:

configparser:都会按照字符串进行处理
       
import configparser

config = configparser.ConfigParser()

config.read(‘xxxooo‘, encoding=‘utf-8‘)

练习:

import configparser

config = configparser.ConfigParser()
config.read(‘f1‘,encoding=‘utf-8‘)

ret = config.sections()
print(ret)

ret = config.items("section2")
print(ret)

ret = config.options(‘section2‘)
print(ret)

v = config.get(‘section1‘, ‘k1‘)
print(v)

has_sec = config.has_section(‘section1‘)
print(has_sec)

# config.add_section("section3")
# config.write(open(‘xxxooo‘, ‘w‘))
#
# config.remove_section("section3")
# config.write(open(‘xxxooo‘, ‘w‘))

has_opt = config.has_option(‘section1‘, ‘k1‘)
print(has_opt)

config.remove_option(‘section1‘, ‘k1‘)
config.write(open(‘xxxooo‘, ‘w‘))

config.set(‘section1‘, ‘k10‘, "123")
config.write(open(‘xxxooo‘, ‘w‘))

XML:
浏览器返回的字符串
    1,html
    2,json
    3,xml
        页面上做展示(字符串类型的一个XML格式数据)
        配置文件(文件,内部数据XML格式)
        
    每一个节点都是 element的对象

练习1:

from xml.etree import ElementTree as ET
tree = ET.parse(‘xo.xml‘)
root = tree.getroot()
for child in root:
    print(child.tag,child.attrib)
    for grandchild in child:
        print(grandchild.tag,grandchild.attrib)

str_xml = open(‘xo.xml‘, ‘r‘).read()
root = ET.XML(str_xml)
for node in root.iter(‘year‘):
    new_year = int(node.text) + 1
    node.text = str(new_year)

    # 设置属性
    node.set(‘name‘, ‘alex‘)
    node.set(‘age‘, ‘18‘)
    # 删除属性
    del node.attrib[‘name‘]

tree = ET.ElementTree(root)
tree.write(‘new.xml‘,encoding=‘utf-8‘)

tree = ET.parse(‘xo.xml‘)
root = tree .getroot()
for node in root.iter(‘year‘):
    new_year = int(node.text) + 1
    node.text = str(new_year)

    node.set(‘age‘,‘18‘)
    node.set(‘name‘,‘sxl‘)

    del node.attrib[‘name‘]

tree.write(‘new2.xml‘,encoding=‘utf-8‘)

练习2:

from xml.etree import ElementTree as ET
from xml.dom import minidom

def prettify(elem):
    """将节点转换成字符串,并添加缩进。
    """
    rough_string = ET.tostring(elem, ‘utf-8‘)
    reparsed = minidom.parseString(rough_string)
    return reparsed.toprettyxml(indent="\t")

root = ET.Element(‘famliy‘)
son1 = ET.Element(‘son1‘,{‘name‘:‘大儿子‘})
son2 = ET.Element(‘son2‘,{‘name‘:‘小儿子‘})
grandson1 = ET.Element(‘grandson‘, {‘name‘: ‘儿11‘})
grandson2 = ET.Element(‘grandson‘, {‘name‘: ‘儿22‘})
son1.append(grandson1)
son2.append(grandson2)
root.append(son1)
root.append(son2)

raw_str = prettify(root)
tree = ET.ElementTree(root)
tree.write(‘oooo.xml‘,encoding=‘utf-8‘, short_empty_elements=False)
f = open("xxxoo.xml",‘w‘,encoding=‘utf-8‘)
f.write(raw_str)
f.close()
时间: 2024-10-30 00:25:53

python之day7的相关文章

python笔记 - day7

python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblogs.com/wupeiqi/p/4493506.html 大纲: configparser模块 XML模块 shutil模块以及压缩包处理 subprocess模块 面向对象学习 configparser: 模块解析:configparser用于处理特定格式的文件,其本质上是利用open来操作文件.

Python基础day-7[闭包,装饰器]

闭包: 首先说下闭包是什么? 闭包就是在函数内部定义的函数,包含对外部作用域的引用,但不包含全局作用域.因为函数的作用域在定义的时候就固定死了,所以闭包函数有自带作用域和延迟计算的特点. 闭包函数定义:如果一个内部函数,包含了对外部作用域的引用,但是不是包含全局作用域.那么这个函数就被认为是闭包函数.闭包函数可以使用".__closure__" 来查看闭包函数的属性.下面我们来看一个示例: def t(): money = 100 def s(): print(money) retur

python小白-day7 面向对象高级部分

python 面向对象(进阶篇) 本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员以及类的反射. 类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. 一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同. 普通字段属于对象 静态字段属于类 1 2 3 4 5

python小白-day7 socket初识

Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Unix,而Unix/Linux基本哲学之一就是"一切皆文件",对于文件用[打开][读写][关闭]模式来操作.socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭) socket和file的区别: fil

python培训Day7 随笔

今天先讲了random模块的使用 这个模块的作用其实就是随机生数字,它下面有是三个方法 import random print random.random()  #默认方法是在0和1之间取一个随机带小数点的随机数 print random.randint(1,2) #在1和2之间随机取数字,可能是1也可能是2 print random.randrange(1,2) #在大于等于1切小于2的范围内取随机数,本例来说只能取到1这个值 0.240756960152 2 1 既然通过random模块可以

Python学习-day7

一.反射 在计算机科学领域,反射是指一类应用,它们能够自描述和自控制.也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义. Python同样具有反射机制,使用反射获取到的函数和方法可以像平常一样加上括号直接调用,获取到类后可以直接构造实例:不过获取到的字段不能直接赋值,因为拿到的其实是另一个指向同一个地方的引用,赋值只能改变当前的这个引用而已.

初学python之day7

一.python学习之面向对象高级语法部分 1.静态方法 例如: 1 class Dog(object): 2 3 def __init__(self,name): 4 self.name = name 5 6 @staticmethod 7 def eat(): 8 print(" is eating") 9 10 11 12 d = Dog("ChenRonghua") 13 d.eat() 1)实现 @staticmethod装饰器即可把其装饰的方法变为一个静

学习python:day7

静态方法 静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作.使用装饰器@staticmethod定义静态方法.类对象和实例都可以调用静态方法: 说了那么多,估计会有些懵逼,咱们还是直接上代码看下静态方法怎么使用吧! 1.按照正常逻辑编写代码并加上@staticmethod定义静态方法eat: 1 2 3 4 5 6 7 8 9 10 class People(object):     def __init__(self,name):         self.nam

python学习--day7 linux基础(5)

  第一部分: 一.nginx服务安装nginx包(源码安装)1.先cd /etc/yum.repos.d目录下2.yum install epel-release -y(安装扩展包)3.yum install nginx -y 4.rpm -qa nginx查看安装的nginx软件包或者rpm -ql nginx查看nginx里的全部文件     二.作为web服务修改配置文件 修改配置文件:vim /etc/nginx/nginx.conf  三.让配置生效,验证配置     第二部分 nf

Python学习day7文件操作

文本操作 # 读取utf-8编码数据,[转换]成unicode(str)编码的数据 # obj = open('D:\美女模特空姐护士联系方式.txt',encoding='utf-8',mode='r') # content = obj.read() # obj.close() # print(content,type(content)) # obj = open('D:\美女模特空姐护士联系方式.txt',mode='rb') # content = obj.read() # obj.clo