with open()as filename

使用文件用with的好处

1.会在运行完后自动关闭文件

2.很简单

打开文件并读取

 

with open('c.xls','r') as t1:
    content = t1.read()
    print(content)
with open('c.xls','r') as t1:
    content = t1.read()
    con = t1.readlines()
    print(content)
    print(con)

open参数的解释:

+:表示拥有读和写功能

r表示只读,如果变成r+,表示可读可写,不能创建文件

w表示可写,w+表示可读可写,文件不存在则创建,存在则覆盖原先内容,原则就是创建一个新文件

a可写,a+表示可读可写,文件不存在则创建,追加内容在原本数据的末尾

补充,因为readlines是一个列表,而每行都是列表的一个元素,这一行,可能非常长,比如下面这图,实际上是列表下标为0的值 ,需要用eval进行转化,才能成为一个“正常”的列表

-------------------------------------------

使用json文件读取和写入数据

 

import json

try:
    with open('wxh.json', 'r') as filename:
        f = json.load(filename)  #读取json文件
        print ('your like number is :%s' % f)
except:
    dig = raw_input("输入你喜欢的数字:")
    with open('wxh.json','w') as filename:
        json.dump(dig,filename) #数据写入json文件

------------------------------------------------------------------------------------------------

如何进行逐行读取并在每次读取中进行操作

方法1:直接获取全文见,并使用for循环,好处是不需要使用readline,直接当做可迭代序列处理,简直太好用了

with open("文件名",'r') as t1:
    for line in t1:
        print(line.strip())

例子:

url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:13760246701,pwd:123456
url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:15678934551,pwd:234555
我有两行这样的数据,存在一个test_data.txt里面
要求如下:
 1:将每一行的数据存到一个字典里面,且url、mobilephone、pwd为key,对应key后面的值为value。
 然后讲读取的每行数据存储为字典后存到一个总的列表里面。返回总列表
 2:写成函数
 通过调用函数最后得到的数据为:
 [{'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login',
 'mobilephone': '13760246701', 'pwd': '123456'},
 {'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login',
  'mobilephone': '15678934551', 'pwd': '234555}]
'''
l1=[]
l2=[]
l3=[]
dic={}
with open('test_data.txt','r') as t1:
    for content in t1:
        content = content.strip()
        content = content.split(',')
        print(content)
        for i in content:
            l1.append(i.split(':')[0])
            l2.append(i.split(':', 1)[1])
        l3.append(dict(zip(l1, l2)))
print(l3)

方法2:使用readline,需要先读一行,再使用while,如果如果不是非要使用readline我才不用你

with open("文件名",‘r’) as t1:
    line = t1.readline()
    while line:
        print(line.strip())
        line = fh.readline()

----------------------------------------------

2020.5.9

with open 不适合打开excel文件,读取后都是报错,不过他能读取csv文件(编码格式是gbk)和txt,如果要读取excel还是用xlrd库

csv文件:

# -*- coding: UTF-8 -*-
with open("3.csv",encoding='gbk') as file1:
    data = file1.read()
    print (data)

>>
看,看,了
1,2,3
4,5,6
是,发,个

-----------------------------------------------------

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值