python笔记(三)---文件读写、修改文件内容、处理json、函数
文件读写(一)
#r 只读,打开文件不存在的话,会报错
#w 只写,会清空原来文件的内容
#a 追加写,不会请求,打开的文件不存在的话,也会帮你新建的一个文件
print(f.read()) #获取到文件里面所有的内容
print(f.readlines()) #获取到文件里面的所有的内容,存放到一个list里
f=open('users.txt')
print(f.readline()) #读取一行
print(f.readline()) #写
a=['username1,123456\n','username2,123456\n']
# for i in a:
# f.write(i+'\n')
print(f.writelines(a)) #用writelines不需要写循环,直接把list放到文件中 u='abc,123'
print(f.writelines(u)) #如果是字符串要放到文件中,最好不用要writelines,因为他要一个一个循环取;最到用write #如果要把list多个元素写到文件里,就用writelines,如果是字符串要写到文件中就用write
文件读写(二)
#r+ 读写模式 打开不存在的文件会报错
#w+ 写读模式
#a+ 追加读写
# rb 二进制的读
# wb 二进制的写
#ab
f=open('users.txt','w+',encoding='utf-8')
print(f.read) #w+可以读到内容不报错,但是把文件内容清空了 #a+
f=open('users.txt','a+',encoding='utf-8')
f.seek(0)
print(f.read)
f.write('a+模式') #如果是二进制文件,或是图片需要用rb,wb
res= open('333.jpg','wb')
print(res)
二、修改文件内容:
#1、简单、粗暴直接的
f=open(r'c:\users\nhy\Desktop\file.txt',encoding='utf-8') #如果打开文件是绝对路径,如果路径中有\n就会转义,前面加r就不会转义
res=f.read().replace('一点','二点')
f.close()
f=open(r'c:\users\nhy\Desktop\file.txt',mode='w',encoding='utf-8')
f.write(res)
f.flush()
f.close() #第二种修改的方法
f=open('file.txt','a+',encoding='utf-8')
f.seek(0)
res=f.read().replace('你','NI')
f.truncate() #把原来的内容删掉
f.write(res)
f.close() #第三种:如果是小文件用上面两种方法还可以,如果是大文件用下面的文件
import os
f=open('file.txt','a+',encoding='utf-8')
f2=open('file.txt.bak','w',encoding='utf-8')
for line in f:
new_line=line.replace('NI','你')
f2.write(new_line)
f.close()
f2.close()
os.remove('file.txt') #删除file.txt文件
os.rename('file.txt.bak','file.txt') #把file.txt.bak文件名称替换成file.txt #第四种实现方式
#如果不想close关闭文件,可以直接用with操作
with open('file.txt',encoding='utf-8') as f,open('file.txt.bak',encoding='utf-8') as f2:
for line in f :
new_line=line.replace('两点','一点')
f2.write(new_line)
os.remove('file.txt')
os.rename('file.txt.bak','file.txt')
三、处理json:
1 #json通用的数据类型,所有的语言都认 2 #key--vules形式
#json串是字符串 s='''
{
"error_code": 0,
"stu_info": [
{
"id": 309,
"name": "小白",
"sex": "男",
"age": 28,
"addr": "河南省济源市北海大道32号",
"grade": "天蝎座",
"phone": "18512572946",
"gold": 100
},
{
"id": 310,
"name": "小白",
"sex": "男",
"age": 28,
"addr": "河南省济源市北海大道32号",
"grade": "天蝎座",
"phone": "18516572946",
"gold": 100
}
]
}
''' import json
res=json.loads(s) #json串(字符串),转成字典
print(res)
print(res.keys()) #打印
print(type(res)) #打印类型key
38 #dumps 把字典转成json,字符串
stus={'xiaojun':123456,'xiaohei':123456,'xiaowang':123456,'海龙':123456}
res2=json.dumps(stus,indent=4,ensure_ascii=False) #indent控制缩进 ensure_accii=False打印控制显示中文
print(res2)
print(type(res2))
with open('stus.txt','w',encoding='utf-8') as f:
f.write(res2) with open('stus.txt','w',encoding='utf-8') as f:
f.write(res2) # json.loads 和json.load的区别
f=open('stus.json',encoding='utf-8')
content=f.read()
user_dic=json.loads(content) #json.loads读的是字符串,必须把文件先读出来
print(user_dic) f=open('stus.json',encoding='utf-8')
user_dic=json.load(f) #json.load直接传一个文件对像就可以,自动读出来
print(user_dic) #dump()和dumps()的区别
stus={'xiaojun':123456,'xiaohei':123456,'xiaowang':123456,'海龙':123456}
f=open('stus2.json','w',encoding='utf-8')
json.dump(stus,f,indent=4,ensure_ascii=False) #把stus写入f
f.close
#如果你要把字典写到文件里面的用dump比较方便
#如果要把字典存到数据库里面就只能用dumps
0 #r 只读,打开文件不存在的话,会报错
#w 只写,会清空原来文件的内容
11 #a 追加写,不会请求,打开的文件不存在的话,也会帮你新建的一个文件
12 f=open('users.txt','a+')
13 f.seek(0) #t移动文件指针
14 print(f.read()) #获取到文件里面所有的内容
15 print(f.readlines()) #获取到文件里面的所有的内容
16 print(f.readline()) #读取一行
17 print(f.readline())
18 #写
python笔记(三)---文件读写、修改文件内容、处理json、函数的更多相关文章
- python学习笔记(十三)-python对Excel进行读写修改操作
日常工作中会遇到Excel的读写问题.我们可以使用xlwt 模块将数据写入Excel表格,使用xlrd 模块从Excel读取数据,使用xlutils模块和xlrd模块结合对Excel数据进行修改.下面 ...
- python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- [转帖]创建文件或修改文件时间 touch
Linux命令(五)创建文件或修改文件时间 touch https://www.cnblogs.com/ay-a/p/7900274.html touch -t .x86_64.rpm 记得 wind ...
- 下载文件时-修改文件名字 Redis在Windows中安装方法 SVN安装和使用(简单版) WinForm-SQL查询避免UI卡死 Asp.Net MVC Https设置
下载文件时-修改文件名字 1后台代码 /// <summary> /// 文件下载2 /// </summary> /// <param name="Fil ...
- python文件操作-修改文件中的内容
一.文件读写有缓冲区 fw = open('nhy','w') fw.write('sdfsdf') fw.flush()# 把缓冲区里面的数据立即写到磁盘上 fw.close() 二.with的用法 ...
- 基于Python的接口自动化-读写excel文件
引言 使用python进行接口测试时常常需要接口用例测试数据.断言接口功能.验证接口响应状态等,如果大量的接口测试用例脚本都将接口测试用例数据写在脚本文件中,这样写出来整个接口测试用例脚本代码将看起来 ...
- python笔记五:IO与文件
1.python IO: Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘: 1)raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串 2 ...
- python学习之文件读写入门(文件读的几种方式比较)
1.文件读写简单实例:(以w写的方式打开一个文件,以r读一个文件) # Author : xiajinqi # 文件读写的几种方式 # 文件读写 f = open("D://test.txt ...
- Python之文件读写(csv文件,CSV库,Pandas库)
前言 一.Python文件读取 二.读取CSV文件 一.Python文件读取 1. open函数是内置函数之with操作 - 关于路径设置的问题斜杠设置成D:\\文件夹\\文件或是D:/文件夹/文件 ...
- python基础三(集合、文件)
1.集合定义 集合天生能去重,且与字典一样,无序.集合用大括号括起来,里面的元素之间用逗号分隔,要跟字典区分开. 集合定义方法:s=set() #定义一个空集合 s={'1','a','b','c', ...
随机推荐
- linux查找指定目录文件大小
#遍历查询 /users/yyqh01/ 目录下的文件目录大小,按M打印大小 for i in $(echo /users/yyqh01/*/) ; do [ "$i" != &q ...
- leetcode题解 7.Reverse Integer
题目: Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 E ...
- Laravel Scout 开启队列, 自定义queue name和queue connection
scout.php的默认配置: 'queue' => env('SCOUT_QUEUE', false), 修改为: 'queue' => [ 'queue' => env('SCO ...
- jasperreports+IReport 5.56,集成到Spring MVC4.0案例
首先,先说一下需求,项目需要打印一些报表,也没多想,直接就在jsp页面设置了样式,前台直接调用window.print()写了打印功能,但是例会的时候,领导提出需要一些比较麻烦的打印,自己写肯定费时间 ...
- (转)解决NSMutableAttributedString富文本,不同文字大小水平轴对齐问题(默认底部对齐)
默认是底部对齐,其实对的也不齐, 目标效果: 代码: NSBaselineOffsetAttributeName 基线偏移量: 调整: NSBaselineOffsetAttributeName的值 ...
- HTML学习笔记01(标签)
<html> <head> <meta charset = "utf-8"> <!--字符集编码设置--> <title& ...
- React中使用echarts
1.安装相关的依赖: cnpm i react-for-echarts -S cnpm i echarts -S 2.使用方法: 页面引入: import ReactEcharts from 'ech ...
- 重写外部图片URL,变成自己的URL
1.获取原图链接 上传一张图片文件到淘图,得到以下链接: https://img.alicdn.com/imgextra/i4/358272220/TB2hCqxmB8lpuFjSspaXXXJKp ...
- 百战程序员——EL、JSTL
1.EL表达式可以操作作用域中的属性,也可以操作普通的局部变量.对吗? 不对 El表达式一般支持作用域(application.session.request.pagecontext)中的属性.EL变 ...
- 小程序wx.request的封装
第一次做小程序项目,这个封装方法是同学推荐的一个网址,对我帮助很大,如果想看代码部分,请看网址详细介绍 网络请求都写在Page里,每个请求都要重复的写wx.request以及一些基础配置: 每个页面里 ...