python文件操作(二) 字符编码 函数入门

本文主要介绍了Python中的文件操作,包括写入、追加和读取文件,以及二进制读写。同时,详细讲解了字符编码,如ASCII、GB2312、GBK到GB18030,以及Unicode和UTF-8的区别。最后,阐述了函数的基础知识,包括定义、返回值和参数传递。
摘要由CSDN通过智能技术生成

一.文件操作(二)

1.对文件读写操作
保存数据最简单的方式就是将其保存到文件中。通过输出写入文件,即便是关闭包含程序输出的终端窗口,这些输出也依然存在,还可以编写程序来将这些输出读取到内存中并进行处理。
json.dump
先把要写的内容存到内存里面去
在把内存里面的内容拿出来
转到文件里面去
(文件在磁盘上)
要将文本写入文件,你在调运open()时需要提供一个参数,告诉python你要写入打开的文件了。
‘w’ 创建一个新文件,把旧文件覆盖掉

f1 = open('test2','w',)
f1.write('this is a test from old ......')
f1 = open('test2','w',)
f1.write('this is a test from new ......') 
#因为用的'w'所以第二次写入的时候发现把第一次写入的内容覆盖了

‘a’ 文件存在时 在文件后追加内容 文件不存在时 创建文件

f1 = open('test2','a',encoding='utf-8')
f1.write('康桥是今晚的沉默')
f1 = open('test2','a',encoding='utf-8')
f1.write('康桥是今晚的沉默')
#'a' 写的时候就是在文件后追加内容 所以之前写的内容也都还在

‘r+’ 对文件以一个读写的方式打开

f1 = open('test2','r+',encoding='utf-8')
print(f1.read()) #只有在先读的时候 写是忘文件里面追加的写
#如何不先读 直接写的话会直接覆盖原文件内容
f1.write('\n沉默是今晚的康桥')
f1.close()
#'r+'对文件可以读写 可以读取文件的内容 也可以写入

‘w+’ 先创建文件 写读

f1 = open('test5','w+',encoding='utf-8')
f1.write('沉默') 
f1.seek(0) #调文件指针到开始的位置 因为写了内容之后文件指针在末尾 
print(f1.read()) 
f1.close()

‘a+’ 追加写 读

#这个跟 ‘w+’ 不同的是 写内容是追加的写 不会覆盖以前写的内容
f1 = open('test5','a+',encoding='utf-8')
f1.write('\n沉默')
f1.seek(0)
print(f1.read())
f1.close()

除此以外,还存在追加读写和二进制读写
运用场景 1 网络传输 2 视频文件
二进制写’wb’
f1 = open(‘test4’,‘wb’)
二进制读’rb’
f1 = open(‘test4’,‘rb’)
(外加写进度条的例子)

.flush()强制实时刷新将缓存的内容写入文件

import sys,time
for i in range(50):
    sys.stdout.write('#') #执行方法的输入 sys.stdout方法写到标准输出
    sys.stdout.flush() #输入一个'#' 刷新打印一个
    # time.sleep(0.1)  #一次循环玩停上0.秒
这个例子在pycharm看的效果不太好 
建议在linux虚拟机的虚拟环境上执行 就可以看出强制刷新缓存的内容写入文件的效果

2.修改文件内容
原理
修改一个文件
1)打开文件—>修改
2)打开文件 —> 修改的是一个生成的一个新文件 —> 用新文件去替换旧文件
先创建要修改的文件named.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值