IO编程
文件读写
之前接触过 这里就不赘述了,直接上代码:
# -*- coding: utf-8 -*-
"""
Created on Tue Feb 27 13:38:02 2018
@author: xuanxuan
"""
#open a file
'''
def main():
file=open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan.txt",'r')
print(file.read())
main()
'''
#打开文件需要进行关闭,一种方法是使用try...finally... 另外一种方法是使用with...open...as
'''
def main():
try:
file=open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan.txt",'r')
print(file.read())
finally:
file.close()
main()
'''
#使用with和try...finally效果是一样的 但是代码更简单 而且不用写close()函数
'''
def main():
with open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan.txt",'r') as file:
print(file.read())
main()
'''
#下面熟悉一下readlines()函数的用法
'''
def main():
with open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan.txt",'r') as file:
for line in file.readlines(): #readlines()函数会读取文件的全部内容 存成一个list列表,每一行是list的一个元素
#print(line.strip()) #strip()函数去掉尾部\n
print(line)
main()
'''
#下面熟悉一下readline()函数的用法
'''
def main():
file=open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan.txt",'r')
for i in range(3):
print(file.readline())
file.close()
main()
'''
#上面都是打开文本文件,如果是打开二进制文件,只需要'rb'即可
'''
def main():
file=open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/cat.jpg",'rb')
print(file.read())
file.close()
main()
'''
#另外就是如果是写入其他的编码格式的文件 可以使用open()函数的encoding参数设为对应的编码即可
'''
def main():
with open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan.txt",'r',encoding='gbk') as file:
print(file.read())
main()
'''
#如果是文本中混入了其他类型的编码格式 就会出现UnicodeEncodeError 只需要通过open()函数的errors参数传入值ignore 也就是直接忽略相关错误即可
'''
def main():
with open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan.txt",'r',encoding='gbk',errors='ignore') as file:
print(file.read())
main()
'''
#当我们需要像磁盘中写入文件时;必须得等到打开的文件关闭之后才可能看到文件中的内容变化情况
'''
def main():
file=open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan2.txt",'w')
file.write("哈哈哈,我就是试一下往磁盘中写入数据的操作!")
file.close() #当使用write操作时一定要注意写完之后需要把文件关闭,否则是看不到数据的
main()
'''
#使用with 代码更简单 且不需要再写close
'''
def main():
with open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan2.txt",'w') as file:
file.write("I just try it !")
main()
'''
#其实你会发现使用w的方式往磁盘中写入数据时 后一次的操作会覆盖掉前一次的操作,因此我们需要使用追加的方式:a
def main():
with open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan2.txt",'a') as file:
file.write("注意啦,我是追加部分!")
main()
下面附上一个习题:
“请将本地一个文本文件读为一个str并打印出来:”
def main():
with open("E:/pyhtonworkspace/py3-pratice/bymyself_practice/python_Liaoxuefeng/20180227/xuanxuan3.txt") as file:
s=file.read()
print(s)
main()