首页 > 代码库 > python---文件操作

python---文件操作

文件的读写
open(encoding=utf-8)#pyton2、python3
fie()#python2
r 只读
w 只写
a追加写,
后面加上+的话,就是读写,写读,追加读写
U把所有文件里面的换行符,都改成\n
b二进制
.read()读取文件所有内容,返回的是一个字符串
.readline()读取文件所有内容,返回的是一个list,每一行的内容是list的一个元素
.readline()读一行
for in in f:
xxx
.write()写一个字符串
.writelines()写一个list
.seek(xx)移动文件的指针到xx位置
.tell()查看文件当前的指针在哪里
.truncate()清空文件
.close()关闭文件
.flush()立即把内存里面的数据写到文件里面
with open(‘xx) as fw:
fw.()

import time,os
#修改文件,with可以不用close文件操作,可以同时操作多个文件
with open(‘a.txt‘,‘r‘,encoding=‘utf-8‘) as fr,\
open(‘a.txt.bak‘,‘w‘,encoding=‘utf-8‘) as fw:
src_res=fr.read()
res=src_res.replace(‘一‘,‘二‘)#把文件中的一换成二
fw.write(res)
os.remove(‘a.txt‘)
os.rename(‘a.txt.bak‘,‘a.txt‘)
#os.system(‘iptables -I INPUT 1 -p tcp -s 192.168.1.1 -j DROP‘)#将ip地址加入黑名单
# #修改文件内容,先把原来的文件内容获取到,把修改的内容写进新文件,此种方法不可取
# fw=open(‘a.txt.bak‘,‘w‘,encoding=‘utf-8‘)
# fr=open(‘a.txt‘,‘a+‘,encoding=‘utf-8‘)
# fr.seek(0)
# line=fr.readline()
# line=line.replace(‘一‘,‘二‘)
# fw.write(line)


# open(‘a.txt‘,‘w‘)#文件不存在则创建,会覆盖已有内容
# open(‘a.txt‘,‘a‘)#往文件里追加
# open(‘a.txt‘,‘r‘)#以读的方式打开文件,文件必须存在
# python2中打开文件用open()和file(),python3中只有open()

# fw=open(‘a.txt‘,‘w‘,encoding=‘utf-8‘)#encoding默认不写的话取操作系统编码,windows下的编码是gbk,有中文的话要加上此参数
# print(fw.writable())#判断该文件是否可以写
# #fw.write(‘今天天气不是很好‘)
# fw.writelines([‘1‘,‘2‘,‘3‘])#写一个list,然后把list里面每一个元素写到文件里面
# fw.close()

#fw=open(‘a.txt‘,‘a+‘,encoding=‘utf-8‘)#encoding默认不写的话取操作系统编码,windows下的编码是gbk,有中文的话要加上此参数
#‘r+‘读写模式,可读可写,内容会覆盖,不好
#‘w+‘写读,会将原来文件内容覆盖掉,最好不用
#‘a+‘读写,但是读不出来
#fw.seek(0)#把文件指针移动到某个位置,0是最前面,用a+方式打开文件,进行读取的时候用
#print(fw.readline())
#fw.write(‘这个用a+方式‘)
#fw.flush()#立即把缓冲区的数据写到文件里面
#time.sleep(5)#程序等待5秒
#print(fw.read())
# fw.truncate()#清空文件内容,如果以a+打开文件因为文件指针在最后,所以要结合.seek(0)使用
# fw.close()
#
# fw=open(‘a.txt‘,‘r‘,encoding=‘utf-8‘)#encoding默认不写的话取操作系统编码,windows下的编码是gbk,有中文的话要加上此参数
# #res=fw.read()#读取文件全部内容
# #res=fw.readline()#读取文件一行
# res=fw.readlines()#读取文件的所有内容,返回的是一个list
# for line in res:
# print(line)
# #print(res)
# fw.close()

#处理大文件最好用以下方式
# fw=open(‘a.txt‘,‘a+‘,encoding=‘utf-8‘)#encoding默认不写的话取操作系统编码,windows下的编码是gbk,有中文的话要加上此参数
# #shift + tab取tab键
# fw.seek(0)
# for line in fw:
# print(line)

python---文件操作