Python: with open()as filename

 

2018年04月10日 18:52:46 wanggaoxingH 阅读数 2653

使用文件用with的好处

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

2.很简单

打开文件并读取

 

 
  1. with open('c.xls','r') as t1:

  2. content = t1.read()

  3. print(content)

 
  1. with open('c.xls','r') as t1:

  2. content = t1.read()

  3. con = t1.readlines()

  4. print(content)

  5. print(con)

open参数的解释:

+:表示拥有读和写功能

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

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

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

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

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

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

 

 
  1. import json

  2.  
  3. try:

  4. with open('wxh.json', 'r') as filename:

  5. f = json.load(filename) #读取json文件

  6. print ('your like number is :%s' % f)

  7. except:

  8. dig = raw_input("输入你喜欢的数字:")

  9. with open('wxh.json','w') as filename:

  10. json.dump(dig,filename) #数据写入json文件

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

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

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

 
  1. with open("文件名",'r') as t1:

  2. for line in t1:

  3. print(line.strip())

例子:

 
  1. url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:13760246701,pwd:123456

  2. url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:15678934551,pwd:234555

  3. 我有两行这样的数据,存在一个test_data.txt里面

  4. 要求如下:

  5. 1:将每一行的数据存到一个字典里面,且url、mobilephone、pwd为key,对应key后面的值为value。

  6. 然后讲读取的每行数据存储为字典后存到一个总的列表里面。返回总列表

  7. 2:写成函数

  8. 通过调用函数最后得到的数据为:

  9. [{'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login',

  10. 'mobilephone': '13760246701', 'pwd': '123456'},

  11. {'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login',

  12. 'mobilephone': '15678934551', 'pwd': '234555}]

  13. '''

  14. l1=[]

  15. l2=[]

  16. l3=[]

  17. dic={}

  18. with open('test_data.txt','r') as t1:

  19. for content in t1:

  20. content = content.strip()

  21. content = content.split(',')

  22. print(content)

  23. for i in content:

  24. l1.append(i.split(':')[0])

  25. l2.append(i.split(':', 1)[1])

  26. l3.append(dict(zip(l1, l2)))

  27. print(l3)

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

 
  1. with open("文件名",‘r’) as t1:

  2. line = t1.readline()

  3. while line:

  4. print(line.strip())

  5. line = fh.readline()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值