这篇文章记录廖雪峰python教程的习题(十)

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值