Python.IO之简易的文件操作

IO 文件读取

'''
打开文件(读取)练习。#尤其要注意编码
'''

file = open('reame.txt','r',encoding = 'utf-8')
a = file.read()

print(a)
file.close()

'''
r+是r模式的拓展,既包括读也包括写,用r+模式打开文件。
可以在读取以后在用write进行追加书写内容。
如果只是用r模式读取,再使用write会出错。
r+模式如果读取不存在的文件会出错,也不会直接创建文件。
'''

file2 = open('reame.txt','r+',encoding = 'utf-8')
a2 = file2.read()
file2.write('read+')
print(a2)
file.close()
#IO,w练习
file = open('reame.txt','w',encoding = 'utf-8')
#定义一个变量为打开路径里名字为reame.txt文件,w模式,编码模式为utf-8
file.write('233')
#写入字符串233
file.close()
print('='*25)

IO,w+练习

'''
w模式下是无法使用read方法的,w+模式可以,与r+情况类似。
'''

filew = open('reame.txt','w+',encoding = 'utf-8')
#定义一个变量为打开路径里名字为reame.txt文件,w+模式,编码模式为utf-8
filew.write('write+')#写入字符串
filew.seek(0)#指针调整到第0字节开始。
print(filew.read())#读取该文件
filew.close()
print('='*25)

IO,a练习

a模式,即是append,意思是追加。

app = open('reame.txt','a',encoding = 'utf-8')
#定义一个变量为打开路径里名字为reame.txt文件,a模式,编码模式为utf-8
app.write('\n666a')
#写入换行符字符串666


app.close()
print('='*25)

IO,a+练习

a+模式,即是append,意思是追加。

'''
与W+模式不同的是,如果文件内容本存在,输入指针会跳到内容末尾。
最重要的是append模式不会出现文件覆盖的情况
'''

app = open('reame.txt','a+',encoding = 'utf-8')
#定义一个变量为打开路径里名字为reame.txt文件,a+模式,编码模式为utf-8
app.write('\nappend+')
#写入换行符字符串append+
app.seek(0)#指针调整到第0字节开始。
a = app.read()
print(a)
app.close()
print('='*25)

IO,进阶的一些运用

'''
文件内容的拷贝
'''

#先用r模式读取一个文件的内容
file = open('reame.txt','r',encoding = 'utf-8')
content = file.read()#读取文件内容到内存并用变量指向它
print(content)#打印内存中的内容
print('='*25)
file2 = open('reame2.txt','w+',encoding = 'utf-8')#用w+模式创建新文件
content2 = file2.write(content)#写入之前的内容
file2.seek(0)#调整指针位置
print('='*25)
print(file2.read())#打印新文本的内容
file.close()

'''
rb和wb模式的一些应用,复制图片
因为非文本文件,通常是以二进制进行保存的,通常的模式并不合适。
'''

#先用rb模式读取一个图片的内容
pain = open('HKfb5WV.png','rb')#注意这里不需要写入解码方式,保留二进制,否则出错
temp = pain.read()#读取图片,并赋值到一个变量上
painw = open('HKfb5WV2.png','wb')#用wb模式读取该图片,由于该文件本没有,所以会创建
temp2 = painw.write(temp)#写入图片内容
pain.close()
print('='*25)

'''
用rb模式读取文字的二进制编码
'''

filerb = open('文字.txt','rb')#用rb模式读取utf-8编码的汉字,得到其文字的二进制编码
temprb = filerb.read()#赋值到一个变量上
print (temprb)#将其打印出来
filerb.close()
# '''
# 打印出来的效果
# b'\xe9\x98\xbf\xe9\x98\xae\xe7\x9a\x84\xe7\x8c\xaa\xe7\xaa\x81\xe7\x8c\x9b\xe8\x
# bf\x9b\xef\xbc\x88\xe4\xb8\x80\xe5\xbe\x80\xe6\x97\xa0\xe5\x89\x8d\xef\xbc\x89'
# '''
filewb = open('文字2.txt','wb')#用wb模式
tempde = temprb.decode('utf-8')#将以上那段二进制代码解码成utf-8

print (tempde)#将其解码结果打印出来
filewb.close()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在python中有os模块(py文件),与操作系统有关的模块这里可以完成文件的操作。使用模块的方式:1、导入2、使...
    NataliaTsunako阅读 243评论 0 1
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,239评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,589评论 9 467
  • 准备食材: 米饭一碗、鸡蛋两个、火腿肠、蒜苗几根、葱花(可以根据自己口味是否需要添加,比如玉米、青豆、胡萝卜、卷心...
    飘香有约阅读 400评论 0 1
  • 这一年,我初中毕业。 来到这所学校,第一天居然迷路了。好吧!我承认我是路痴。 我还记得我第一天说的那句话,你还有她...
    陈小逗阅读 467评论 0 1