文件读写(一)
 #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、函数的更多相关文章

  1. python学习笔记(十三)-python对Excel进行读写修改操作

    日常工作中会遇到Excel的读写问题.我们可以使用xlwt 模块将数据写入Excel表格,使用xlrd 模块从Excel读取数据,使用xlutils模块和xlrd模块结合对Excel数据进行修改.下面 ...

  2. python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  3. [转帖]创建文件或修改文件时间 touch

    Linux命令(五)创建文件或修改文件时间 touch https://www.cnblogs.com/ay-a/p/7900274.html touch -t .x86_64.rpm 记得 wind ...

  4. 下载文件时-修改文件名字 Redis在Windows中安装方法 SVN安装和使用(简单版) WinForm-SQL查询避免UI卡死 Asp.Net MVC Https设置

    下载文件时-修改文件名字   1后台代码 /// <summary> /// 文件下载2 /// </summary> /// <param name="Fil ...

  5. python文件操作-修改文件中的内容

    一.文件读写有缓冲区 fw = open('nhy','w') fw.write('sdfsdf') fw.flush()# 把缓冲区里面的数据立即写到磁盘上 fw.close() 二.with的用法 ...

  6. 基于Python的接口自动化-读写excel文件

    引言 使用python进行接口测试时常常需要接口用例测试数据.断言接口功能.验证接口响应状态等,如果大量的接口测试用例脚本都将接口测试用例数据写在脚本文件中,这样写出来整个接口测试用例脚本代码将看起来 ...

  7. python笔记五:IO与文件

    1.python IO:  Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘:  1)raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串  2 ...

  8. python学习之文件读写入门(文件读的几种方式比较)

    1.文件读写简单实例:(以w写的方式打开一个文件,以r读一个文件) # Author : xiajinqi # 文件读写的几种方式 # 文件读写 f = open("D://test.txt ...

  9. Python之文件读写(csv文件,CSV库,Pandas库)

    前言 一.Python文件读取 二.读取CSV文件 一.Python文件读取 1. open函数是内置函数之with操作 - 关于路径设置的问题斜杠设置成D:\\文件夹\\文件或是D:/文件夹/文件 ...

  10. python基础三(集合、文件)

    1.集合定义 集合天生能去重,且与字典一样,无序.集合用大括号括起来,里面的元素之间用逗号分隔,要跟字典区分开. 集合定义方法:s=set() #定义一个空集合 s={'1','a','b','c', ...

随机推荐

  1. Always an Integer 数论和字符串处理

    题意:判断一个整系数多项式除以一个常数结果是否一定是一个整数 大白p123例题.可以随机代入一些n的值,判断一下.不过只要代入1到k+1(k为多项式最高项的次数)即可.通过数学归纳法证明,先讨论k为0 ...

  2. MySQL之UNION与UNION ALL

    数据表中的数据如下: UNION: 可以获取books表与articles表中所有不同的title,如果两个表中title相同的只会显示一个.  UNION ALL : 可以获取books表与arti ...

  3. 前端框架Angular、react、vue在github上的数据统计-2018-05

    2018年5月31日09:15:45 突然想看看几个前端框架的数量,然后就截图了如下数据: 分析: react关注.收藏.Fork都高vue一些, 但相差不大 angular比较奇葩,收藏只有二者一半 ...

  4. govendor 无法添加.h文件

    例如:github.com\ethereum\go-ethereum\crypto\secp256k1 是一个CGO项目 通过govendor add +external只能引入secp256k1下的 ...

  5. 浏览器h5新建文件 保存到本地(相当于浏览器写文件)

    function doSave(value, type, name) {         var blob;         if (typeof window.Blob == "funct ...

  6. 什么是C/S模式与B/S模式,两者区别与优缺点

    转自https://wenwen.sogou.com/z/q1709598292.htm C/S (Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种.C/S模式 ...

  7. Python函数基础--def及return语句地操作

    1·def是可执行的代码 Python的函数是有一个新的语句编写的,即def.不像C这样的编译语言,def 实际上是一个可执行的语句--函数并不存在,直到Python运行了def后才存在.在典型的操作 ...

  8. 17python-BS编程

    1.前端概述(1)上网:就是下载网页(2)浏览器:就是一个解释器2.BS模式的了解(1)BS模式:-----b:browser(浏览器)   s:server(服务端)(2)BS模式运行过程:brow ...

  9. 项目工程中的WebRoot与WebContent有什么区别?

    [1] 在MyEclipse中创建web项目后,web程序的根目录文件夹是WebRoot,而创建dynam web project时候,web程序的根 目录文件夹是WebContent,他们之间没有本 ...

  10. 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3

    阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3  Posted on 2016年2月10日 by  学院君 1.Apache 配置 —————————————————– vi / ...