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', ...
随机推荐
- java 对同一个文件进行读写操作
同一个文件是不可以进行同时的读写的,因为我们写入文件会覆盖原文件的,如果这样,对于同一文件来来说,文件发生覆盖,无法进行下次读取 当然,对于两个不同的文件,可以一边读一边写的操作 题目:一个文本中存储 ...
- 显示react配置
1. 由于react默认隐藏webpack配置需要手动显示. npm run eject //Are you sure you want to eject? This action is perman ...
- C语言链表:逆序建立单链表
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<malloc.h> #define LEN sizeof( ...
- ossfs 使用挂在到ecs -centos 6.8
# 帮助文档 ```oss 的所有文档都在这个链接上https://promotion.aliyun.com/ntms/act/ossdoclist.html?spm=5176.7933691.744 ...
- Mathematica求微分换元
[转载请注明出处]http://www.cnblogs.com/mashiqi 2017/12/16 有时我们需要对PDEs中的各项进行变量替换,比如把$\frac{\text{d}}{\text{d ...
- Linux 学习之路 --------ip地址虚拟网络
// ifconfig 查看IP地址 网络信息 我的IP 39.161.136.25 ① 为网卡临时配置IP地址 ifconfig eth0 39.161.136.5 (netmask ...
- Python相关
当Python源码编译以后,需要对一些依赖库重新安装,而且有些是要用pip去安装. python 文件.目录属性的操作os.path等os模块函数 https://blog.csdn.net/bytx ...
- JAVA第九次作业
JAVA第九次作业 (一)学习总结 1.用思维导图对javaIO操作的学习内容进行总结. 参考资料: XMind. 2.下面的程序实现了文件的拷贝,但采用的是一个字节一个字节的读写方式,效率很低.使用 ...
- C# 中String.Join()方法
今天在工作中看到了组里一个大佬写的代码,感触颇多,同样实现一个需求,我写循环费了老大劲,代码又臭又长,大佬的代码简洁明了,三行搞定...不得不说,今天赚大了 简单总结一下今天赚到的知识 string里 ...
- VM安装centos7
镜像:笔者采用的是CentOS-7-x86_64-Minimal-1810.iso版本 1.创建新的虚拟机 2.典型安装与自定义安装 典型安装:VMwear会将主流的配置应用在虚拟机的操作系统上,对于 ...