1、读取txt文件
# 读取stu_info.txt文件内容,并将文件中所有学生名称显示进去f = open('stu_info.txt', 'r')lines = f.readlines()print(lines)for line in lines: print(line.split(',')[0]) f.close()
2、CSV文件读写
'''读写csv文件,csv即为逗号分隔值(Comma-Separated Values,CSV),有时也称为字符分隔值,其文件以纯文本模式存储表格数据(数字和文本)'''import csvfr=open('stu_info.csv', 'r')csv_file = csv.reader(fr)for stu in csv_file: print(stu)fr.close()#对stu_info.csv文件追加写入两个学生信息Marry和Romstu=['Marry',28,'Changsha']stu1=['Rom',23,'Chengdu']out=open('stu_info.csv','a',newline='')csv_write=csv.write(out,dialect='excel')csv_write.writerow(stu)csv_write.writerow(stu1)out.close()
3、读取xml文件元素节点
<?xml version="1.0" encoding="UTF-8"?><Class> <student> <name>Jack</name> <age>28</age> <city>Beijing</city> </student> <student> <name>Bob</name> <age>22</age> <city>Shanghai</city> </student> <student> <name>Marry</name> <age>89</age> <city>Shenzhen</city> </student> <student> <name>Marry</name> <age>89</age> <city>Shenzhen</city> </student> <teacher> <name>Nancy</name> <age>90</age> <city>Shenzhen</city> </teacher> <account> <login username="student" password="123456"/> <login username="teacher" password="88888888"/> </account></Class>
#查看class_info.xml文件里Class节点对属性(节点名称、节点值,结点类型)from xml.dom import minidom#加载xml文件dom=minidom.parse('class_info.xml')#加载dom对象元素root=dom.documentElement#打印结点信息print(root.nodeName)print(root.nodeValue)print(root.nodeType)'''nodeName节点名称nodeValue返回文本节点的值nodeType属性,返回以数字值指定的节点的节点类型如果节点是元素节点,则nodeType属性将返回1如果节点是属性节点,则nodeType属性将返回2'''
4、读取xml文本节点
#别离打印出class_info.xml外面学生和老师的详细信息(姓名、年龄、城市)from xml.dom import minidom#获取标签对的值dom=minidom.parse('class_info.xml')#获取文档对象元素root=dom.documentElement#依据标签名称获取标签对象names=root.getElementsByTagName('name')ages=root.getElementsByTagName('age')citys=root.getElementsByTagName('city')#别离打印显示xml文档标签对外面对内容for i in range(4): print(names[i].firstChild.data) print(ages[i].firstChild.data) print(citys[i].firstChild.data) print("----------------")
5、读取xml文件属性节点的值
# 读取属性节点的值:别离读取打印老师和学生的账号密码from xml.dom import minidomdom = minidom.parse('class_info.xml')root = dom.documentElementlogins = dom.documentElementlogins = root.getElementsByTagName('login')# 获取login标签username属性for i in range(2): username = logins[i].getAttribute('username') print(username) password = logins[i].getAttribute('password') print(password)
6、读取子节点信息
'''读取子节点信息nodeName 节点名称nodeValue 节点值nodeType 节点类型'''from xml.dom import minidomdom=minidom.parse('class_info.xml')root=dom.documentElementtags=root.getElementsByTagName('student')print(tags[0].nodeName)print(tags[0].tagName)print(tags[0].nodeType)print(tags[0].nodeValue)
7、多线程
# 多线程from time import ctime, sleepimport threadingdef talk(content, loop): for i in range(loop): print('Start Talk %s %s' % (content, ctime())) sleep(3)def write(content, loop): for i in range(loop): print('Start Write %s %s' % (content, ctime())) sleep(2)# 定义和加载读写线程threads = []t1 = threading.Thread(target=talk, args=('Speak: Hello world', 5))threads.append(t1)# 执行多线程t2 = threading.Thread(target=write, args=('Write: gogogo', 5))threads.append(t2)if __name__ == '__main__': for t in threads: t.start() for t in threads: t.join() print('All the End %r' % ctime())
8、多过程
# 多过程from time import ctime, sleepimport multiprocessingdef talk(content, loop): for i in range(loop): print('Start Talk %s %s' % (content, ctime())) sleep(3)def write(content, loop): for i in range(loop): print('Start Write %s %s' % (content, ctime())) sleep(2)# 定义和加载读写过程processs = []p1 = multiprocessing.Process(target=talk, args=('Speak: Hello world', 5))processs.append(p1)# 执行多线程p2 = multiprocessing.Process(target=write, args=('Write: gogogo', 5))processs.append(p2)if __name__ == '__main__': for p in processs: p.start() for p in processs: p.join() print('All the End %r' % ctime())