11. python读写文件的多种方式

一、txt文件

with open('users.txt','r') as user_file:
    data = user_file.readlines()
users = []

for line in data:
    user = line[:-1].split(':')#line[:-1]表示去掉最后一个字符, split(str='****',num=(***) 填写num表示将切割成num+1个部分
                               #返回的是符合条件的列表
   # print(user)
    users.append(user)

print(users)

  

二、CSV文件

#!/usr/bin/python
# -*- coding: utf-8 -*-
import csv
from itertools import islice  #itertools自带的,指定开始行的函数

#写CSV文件
with open('csv_users.csv',mode='a',encoding='gbk',newline='') as csvfile:  #newline是将读取的最后一行空白去掉
    writer = csv.writer(csvfile)
    writer.writerow(['ssss','aaa',u'哈哈掉哈回复'])

#读CSV文件
with open('csv_users.csv','r',encoding='gbk',newline='') as csvfile:
    data = csv.reader(csvfile)
    for line in islice(data,1,None):  #data是迭代的对象, 1表示从第一行开始,None是结束标记
        print(line)

csvfile.close()

  

 

三、xml读取

#通过minidom解析xml文件
import xml.dom.minidom as xmldom
import os
''' 
XML文件读取 
<?xml version="1.0" encoding="utf-8"?>
<catalog>
    <maxid>4</maxid>
    <login username="pytest" passwd='123456'>dasdas
        <caption>Python</caption>
        <item id="4">
            <caption>测试</caption>
        </item>
    </login>
    <item id="2">
        <caption>Zope</caption>
    </item>
</catalog>

'''
# 得到文档对象
domobj = xmldom.parse('xml_users.xml')
# 得到元素对象
elementobj = domobj.documentElement

#获得子标签
subElementObj = elementobj.getElementsByTagName("login")

print (len(subElementObj))
# 获得标签属性值
print (subElementObj[0].getAttribute("username"))
print (subElementObj[0].getAttribute("passwd"))

#区分相同标签名的标签
subElementObj1 = elementobj.getElementsByTagName("caption")
for i in range(len(subElementObj1)):
    print (subElementObj1[i].firstChild.data)  #显示标签对之间的数据

  

四、json读取

未完待续

原文地址:https://www.cnblogs.com/lintest/p/11754510.html