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', ...
随机推荐
- esLint 配置
默认eslint规则: 代码末尾不能加分号 ;(强迫症的我受不了)代码中不能存在多行空行:(这个我更也忍不了)tab键不能使用,必须换成两个空格:(超级不习惯)代码中不能存在声明了但未使用的变量:(这 ...
- 周强 201771010141面向对象程序设计(java)》第十七周学习总结
线程同步 多线程并发运行不确定性问题解决方案:引入线 程同步机制,使得另一线程要使用该方法,就只 能等待. ⚫ 在Java中解决多线程同步问题的方法有两种: 1.- Java SE 5.0中引入Ree ...
- 201771010141 周强《面向对象程序设计(java)》第十三周学习总结
实验目的与要求 (1) 掌握事件处理的基本原理,理解其用途: (2) 掌握AWT事件模型的工作机制: (3) 掌握事件处理的基本编程模型: (4) 了解GUI界面组件观感设置方法: (5) 掌握Win ...
- nw 引用 sqlite
0.好吧,这对于我这个c 小白来说,真的有点难度. 1.安装Python 2.7.14 https://www.python.org/downloads/ 2.安装最新的nodejs+npm http ...
- 浅谈java中的祖先类Object
首先一道题: public class User{ private String name; private int age; public String getName() { return nam ...
- 小程序 movable-area 实现悬浮窗效果
最近做一个小程序 实现页面内悬浮窗的效果 给自己制定两个方案: 1.通过一个自定义的组件,通过触摸事件进行实现: 2.使用微信的movable移动组件实现: 第一种方案: 结果:实现了 悬浮窗和自动靠 ...
- java.lang.NullPointerException错误的解决方案
java.lang.NullPointerException空指针异常是像我一样新手很容易出现的问题,这个问题一般情况都是不细心的时候出现的,开始正文如下: 1.业务层面的错误: a.没有写非空验证: ...
- 用chrome和anywhere,配合安卓机搭建最简单的移动端页面测试。
很多时候,我们前端在写移动端页面的时候,虽然目前chrome有调试模式,可以模拟手机的部分效果,但仍有部分效果需要直接在手机上进行页面的调试,今天就在这里推荐一个适合windows+安卓的无需连接局域 ...
- 爬虫基础之urllib库(代码演示)
# 自定义opener from urllib.request import ProxyHandler,build_opener from urllib.error import URLError ...
- vlookup使用
数据处理过程中,需要excel进行简单的操作,比如vlookup,摸索之后,总结如下: