calvin-zhang
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#文件操作之基本的打开模式
#1.只读,r
f1=open(\'test.txt\',\'r\')
data1=f1.read()
f1.close()
print(data1)


#2.w,只写模式(不可读,文件不存在则创建,存在则清空内容)
f2=open(\'test.txt\',\'w\')
data2=f2.write("123456")
f2.close()

f3=open(\'test1.txt\',\'w\')
data3=f3.write("Calvin666")
f3.close()

f3=open(\'test1.txt\',\'w\')
data3=f3.writelines("python is a good language\n"

"I like it very much\n"

"How about you?") #一次写入多行内容
f3.close()


#3.x,只写模式(不可读,文件不存在则创建,存在则报错)

f4=open(\'test2.txt\',\'x\')
data4=f4.write("Calvin666")
f4.close()

#4.a,追加模式(不可读,文件不存在则创建,存在则追加内容)

f5=open(\'test2.txt\',\'a\')
data5=f5.write("888")
f5.close()


#字节的方式打开文件

#只读字节rb
f6=open(\'test2.txt\',\'rb\')
data6=f6.read()
f6.close()
str_data=str(data6,encoding=\'utf-8\')
print(type(data6),data6,str_data)


#只写字节wb,写入字节,传入的字符串要先转换成字节才能写入到文件

f7=open(\'test1.txt\',\'wb\')
str_data2=\'科比\'
byte_data=bytes(str_data2,encoding=\'utf-8\')
f7.write(byte_data)
f7.close()


#"+"表示可以同时读写某个文件

#r+ ,读写【可读,可写】,默认指针在最开始
#r,从指针位置为0开始读取

# w,如果先读,末尾追加,如果要从某个位置写,使用seek指向某个位置

f8=open(\'test1.txt\',\'r+\',encoding=\'utf-8\')
#返回一个整数,表示当前文件指针的位置.
f8.tell()
data1=f8.write(\'greate\')
f8.close()
print(data1)


#w+ ,写读【可读,可写】,默认指针在最后
f8=open(\'test1.txt\',\'r+\',encoding=\'utf-8\')
#返回一个整数,表示当前文件指针的位置.
f8.tell()
data1=f8.write(\'科比布莱恩特\')
#f.seek(偏移量,[起始位置]) 用来移动文件指针,偏移量:单位:字节,可正可负,起始位置:0-文件头,默认值;1-当前位置;2-文件尾
f8.seek(0)
data2=f8.read()
f8.close()
print(data2)


#x+ ,写读【可读,可写】
#与w+类似,只是文件存在会报错



#a+ ,写读【可读,可写】,默认指针在最后
#r,最后位置读取
#w,主动seek,最后追加


f9=open(\'test1.txt\',\'a+\',encoding=\'utf-8\')
#返回一个整数,表示当前文件指针的位置.
f9.tell()
data3=f9.write(\'科比布莱恩特\')
#f.seek(偏移量,[起始位置]) 用来移动文件指针,偏移量:单位:字节,可正可负,起始位置:0-文件头,默认值;1-当前位置;2-文件尾
f9.seek(0)
data4=f9.read()
f9.close()
print(data4)



分类:

技术点:

相关文章: