1、file读操作
首先我们在本地项目里面创建一个1.txt,你的python脚本要和这个txt文件保持在同一个目录下;当时学习测试的就忘记了建立1.txt文件造成了报错。
import codecs
#打开文件需要几步:
#1、open文件
#2、文件操作(读或者写)
#3、关闭文件
f = codecs.open('1.txt')# 通过alt+enter键导入codecs的类,这里首先要建立1.txt的文件。才不会报错
# print(f.read())
text = f.read()
#将1.txt里面所有包含1的字符串换成AA
result = text.replace('1', 'AA')
print('@@@@@@' * 10)
print (result)
f.close()
2、file写操作
import codecs
f1 = codecs.open('2.txt', 'w')
f1.write('大家好!\n')
f1.write('开始学习python的文件写操作!\n')
f1.close()
import codecs
f1 = codecs.open('2.txt', 'w')
f1.write('大家好!\n')
f1.write('开始学习python的文件写操作!\n')
f1.close()
#追加文件字符串
f2 = codecs.open('2.txt', 'ab')
f2.write('我爱{0}!\n'.format('中国'))
f2.write('hello %s!\n' % 'everyone')
f2.close()
import codecs
f3 = codecs.open('2.txt')
#readline和readlines都是按指针来读取的,读到哪里指针就跟到哪里,所以文件只能读取一遍
#readlines()将一行组成一个字符串,然后放到一个列表里
print (f3.readlines())
#readline是读取一行内容,运行一次指针移动一次。
f3 = codecs.open('2.txt')
print(f3.readline())
print(f3.readline())
#next是读取下一行内容
f3 = codecs.open('2.txt')
print(f3.readline())
print(f3.next())
f3.close()
import codecs
f = codecs.open('3.txt', 'wb')
f.write('hello word\n')
#tell 计算写入字符的个数
print f.tell()
f.writelines(['aa\n', 'bb\n'])
print f.tell()
f = codecs.open('3.txt', 'wb')
f.write('hello word\n')
#tell 计算写入字符的个数
print f.tell()
f.writelines(['aa\n', 'bb\n'])
print f.tell()
#将指针移动文件开头,并且写入的时候按照字符个数进行覆盖
f.seek(0)
f.write('this is frist yyyyyyyyy')
#将文件刷新到缓存
f.flush()
#打印脚本本身的名字
print(f.name)
#文件编码
print(f.encoding)
#文件打开方式
print(f.mode)
#关闭返回值,关闭就为true
print(f.closed)
f.close()
3、file-with的用法
import codecs
#利用with()来打开文件,脚本运行结束时会将脚本自动关闭
with codecs.open('1.txt') as fd:
print(fd.read())
print (fd.closed)
with codecs.open('1.txt') as fd:
for line, value in enumerate(fd):
print (line, value)
if line == 3:
print (value)
#打印文件的下标和内容:
with codecs.open('1.txt') as fd:
for line, value in enumerate(fd):
print (line, value)
if line == 4-1:
print (value)
#根据文件行数打印内容
print('########' * 20)
import linecache
count = linecache.getline('1.txt', 4)
print(count)