zoukankan      html  css  js  c++  java
  • 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读取

    未完待续

  • 相关阅读:
    Socket通信的理解
    wpf listbox 内的内容显示问题,需要设置里面的itemsPresenter
    C#的两个大方向
    QT的安装和配置及helloqt程序的编写时遇到的问题
    华为交换机基础命令
    华为创建VLAN及VLAN间通讯
    powershell查询AD域账号详细信息
    Powershell从EXCEL导入大量用户
    映射网络驱动器
    域策略更新及导出
  • 原文地址:https://www.cnblogs.com/lintest/p/11754510.html
Copyright © 2011-2022 走看看