python基础学习六(编码格式及文件读写相关)

@TOC

编码格式介绍

在这里插入图片描述

文件的读写原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常见的文件打开模式

在这里插入图片描述

在这里插入图片描述

file = open('b.txt','w')
file.write('Python')
file.close()
file = open('b.txt','a')
file.write('Python')
file.close()
src_file = open('logo.png','rb')
target_file = open('copylogo.png','wb')
print(target_file.write(src_file.read()))
src_file.close()
target_file.close()

文件对象的常用方法

在这里插入图片描述

with语句,上下文资源管理器

在这里插入图片描述

with open('a.txt','r') as file:
    print(file.read())

本质上是一个上下文管理器,它实现了特殊的enter方法和exit方法进入和退出方法

'''这个类对象遵守了上下文管理器'''
class MyContentMgr:
    def __enter__(self):
        print('enter executed')
        return self
    def __exit__(self, exc_type, exc_val, exc_tb):
        print('exit executed')

    def show(self):
        print('show executed')

with MyContentMgr() as m:
    m.show()

在这里插入图片描述
当有异常情况时exit还是会执行

'''这个类对象遵守了上下文管理器'''
class MyContentMgr:
    def __enter__(self):
        print('enter executed')
        return self
    def __exit__(self, exc_type, exc_val, exc_tb):
        print('exit executed')

    def show(self):
        print('show executed',1/0)

with MyContentMgr() as m:
    m.show()

在这里插入图片描述
文件赋值写法:

with open('logo.png','rb') as src_file:
    with open('copy2log.png','wb') as dst_file:
        dst_file.write(src_file.read())
OS模块

在这里插入图片描述

操作目录:
在这里插入图片描述

import os
print(os.getcwd())
lst = os.listdir('../chap15')
print(lst)
os.mkdir('newdir')
os.makedirs('A/B/C')
os.rmdir('newdir')
os.removedirs('A/B/C')
os.chdir('')

os.path操作目录相关函数:
在这里插入图片描述
列出指定目录下所有的py文件

import os
path = os.getcwd()
lst = os.listdir(path)
for filename in lst:
    if filename.endswith('.py'):
        print(filename)

递归的打印所有的:

import os
path = os.getcwd()
print(path)
lst_files = os.walk(path)
print(lst_files)
for dirpath,dirnames,filenames in lst_files:
#    print(dirpath)
#    print(dirnames)
#    print(filenames)
#    print('-----------------')
    for dir in dirnames:
        print(os.path.join(dirpath, dir))
    for filename in filenames:
        print(os.path.join(dirpath, filename))
    print('-----------------')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值