python learning day 9 ---文件和文件系统

通过open()函数,可以方便的打开文件,同时可以指定操作方式(字符还是二进制),什么操作(读、写还是其他)和编码类型

操作模式具体含义
'r'读取 (默认)
'w'写入(会先截断之前的内容)
'x'写入,如果文件已经存在会产生异常
'a'追加,将内容写入到已有文件的末尾
'b'二进制模式
't'文本模式(默认)
'+'更新(既可以读又可以写)

如果是二进制就在后面加个b,比如rb

读取文本文件

读取一个test.txt文本文件:

def main():
    f=open('G:\\5Code练习\\python_work\\python打卡练习\\test.txt','r',encoding='UTF-8')
    print(f.read())
    f.close()
if __name__ =='__main__':
    main()

.read()读取内容,.close()释放资源
也可以

    with open('G:\\5Code练习\\python_work\\python打卡练习\\test.txt','r'
    			,encoding='UTF-8') as f :
        print(f.read())

使用with上下文语法,通过with关键字指定文件对象的上下文环境并在离开上下文环境时自动释放文件资源
有时运行时会出错,比如找不到文件,或者编码方式有误

def main():
    try:

        with open('G:\\5Code练习\\python_work\\python打卡练习\\tes.txt','r'
        		,encoding='UTF-8') as f :
            print(f.read())
    except FileNotFoundError:
        print('找不到文件')
    except LookupError:
        print('指定了未知编码')
    except UnicodeDecodeError:
        print('文件解码错误')

if __name__ =='__main__':
    main()

通过try``except方式当遇到异常时及时地切出去。
除了用read还可以逐行读取,方法有两个一个时用 for-in循环读取,另一个是用.readline()方法读取到一个列表中。

     with open('G:\\5Code练习\\python_work\\python打卡练习\\test.txt','r'
     			,encoding='UTF-8') as f :
            lis=[]
            for line in f:
                lis.append(line)
            print(lis)#['test\n', '打卡\n']
    try:

        with open('G:\\5Code练习\\python_work\\python打卡练\\test.txt','r',
        		encoding='UTF-8') as f :
            lis=f.readlines()
            print(lis) #['test\n', '打卡\n']

写文件

只需把’r’改成’w’如果要追写改成’a’

 list1=['test1.txt','test2.txt']
    for txt in list1:
        with open('G:\\5Code练习\\python_work\\python打卡练习\\'+txt,'w') as f:
            f.write('a')

其他

如果没有此文件就会新建一个,不会报错。
这样如果是向一个空文件中写入内容(也是用.write(内容)的方法),就相当于保存作用。对二进制文件也是一样的,不过是open内的参数不同而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值