2018年04月10日 18:52:46 wanggaoxingH 阅读数 2653
使用文件用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()