python之文件的读取与写入

# 文件的读取与写入
#open() 打开文件,w 表示写入,r表示读取,a 追加写入, 必须填入的是文件路径, 如果没有默认的参数,就表示模式是读取模式
'''print('d:\note1.txt') #\n有特殊含义,类似的还有\t, 解决办法:可以在\前再加一个\,方法2:在字符串外面加一个小写的r,表示后面的字符串中的字符都不转义
方法3:\ 改为/也可以识别
'''
#一般的读取文件,当为r模式时,如果找不到文件会报错
file1 = open('F:/test01.txt')
print(file1.read(10))
print(file1.tell())#tell() 表示目前文件中,光标的位置
print('文件指针的位置'+str(file1.tell()))

file1.seek(3) #第一个参数的光标偏移几位,第二个参数的可以不写, 默认为0,表示从文件开头开始计算
#如果seek的第二个参数不为0,为1或2,1表示从当前指针的当前位置开始偏移,2表示从文件末尾开始偏移
#seek()的第二个参数如果是1和2,那么只有在rb模式才能用,,rb是指以二进制方式进行读取
#关闭文件,虽然pycharm会帮你关闭文件,但是其他的编辑器可能不会帮你关,所以要养成写close()的习惯
file1.close() #在open()函数的最后,要使用close()方法

print(file1.readline()) #读取文件的一行
print(file1.readlines()[2]) #读取文件的多行,返回值为列表形式,如果写[2]则返回第2行
print(file1.read().splitlines()) #去掉换行符,返回值是列表类型

文件的写入
file2=open(r'f:\test01.txt','w') #w方法表示写入,并且会清除文件之前的内容
file2.write('这是新写入的内容')
file2.close()

#a 方法是在文件内容后面接着写,当没有文件时会自动生成文件,且将新内容添加到文件中
# r方法,如果没有文件,则会报错
file2=open(r'f:\test01.txt','a') #w方法表示写入,并且会清除文件之前的内容
file2.write('这是新写入的内容')
file2.close()

同时进行读取和写入的模式 r+ 可同时进行读写,没有文件会报错,
w+,可同时读写,
a+ 可同时读写,从文件末尾开始接着写
./

file2=open(r'f:\test01.txt','r+')
file2.write('这是新写入的内容')
file2.seek(0) #光标回到初始位置
print(file2.read()) #读取文件的全部内容
file2.close()

#with open() 是open的升级版,不需要写close方法,支持同时打开多个文件
# with open(r'f:\test01.txt','w+') as f:
# f.write('这是新加的内容222222') #用新写入的内容替换原有的内容

with open(r'f:\test01.txt','r+') as f:
f.write('这是新加的内容33') #用新写入的内容替换原有的一部分内容,新内容如果比原内容断,则替换一部分,新内容比原内容长,则全部替换



猜你喜欢

转载自www.cnblogs.com/nancy-kou/p/13195474.html