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', ...
随机推荐
- HDFS基础1
一.HDFS入门 二.HDFS基本操作 1.shell命令行客户端 Hadoop提供了文件系统的shell命令行客户端,使用方法如下: Hadoop fs <args>(参数哪一个文件系统 ...
- 微信小程序前端开发踩坑(一)
之前由于不了解微信小程序的整个的运行开发机制,走了很多的弯路,脑子灵光的可能不会遇到,这个主题系列的帖子希望可以帮助到像我一样理解能力慢的孩子. 不论是开发微信小程序还是说学习任何一门编程语言,最重要 ...
- JavaSpcript基础
函数 代码的复用:写一遍多次使用>把特定的功能语句打包放在一起 语法:function 名字(0,1,1多个参数){ 执行的语句 } 返回值return,把语句返回给函数 例子: functio ...
- 神州数码NAT地址转换配置
实验要求:熟练掌握NAT地址转换的配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip ad ...
- linux下centos解压时报错: gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now
最近在linux下安装python时,解压Python.tgz文件时遇到一个问题: gzip: stdin: not in gzip format tar: Child r ...
- Visual C++ 6.0中if的简单用法
# include<stdio.h> int main (void) { > ) printf("AAAA"); printf("BBBB") ...
- tensorflow 学习纪录(持续更新)
import tensorflow as tf import numpy as np #tensor = tf.constant([[1,2,3,4,5,6,7,8],[1,2,3,4,5,6,7,8 ...
- 网上搜集python面试题(更新中......)
武Sir博客拿的面试题,答案都是自己写的,多有不足,请多多指教.更新中...... 1.为什么学习Python? a.写起来快,看起来明白.作为通用性的语言,除了一些对性能要求很高的场合,几乎什么都能 ...
- 田螺便利店—opencv3.4.5与vs2015配置并测试
参考博客:https://blog.csdn.net/sinat_39061823/article/details/80723096 遇到的问题:由于找不到 opencv_world345d.dll, ...
- css ——行级元素与块级元素解析
一 . 先说说二者的本质区别吧: 行级元素是可以和其他元素处于一行,不用必须另起一行.块级元素是每个块级元素都是独自占一行,其后的元素也只能另起一行,并不能两个元素共用一行. 二 .下面 ...