Python基础 笔记(十) 文件操作、异常、模块

目录

一、文件操作

1、读操作--入门

2、读操作--读取文件全部内容

3、写操作--入门

4、文件操作模式

5、文件的复制

二、异常操作

1、异常操作--入门

2、异常操作--应用

三、模块1、模块就是写好的 .py文件2、模块的导入方式:


一、文件操作

1、读操作--入门

"""
Python对文件的操作又被称为Python的IO操作
   I: Input  读
   O: Output 写

Python的IO操作流程:
  1、打开文件: open
  2、读写文件: read / write
    read() :默认读取文件全部内容,如果文件的大小超过你的内存,则会出现内存溢出
  3、关闭文件: close
"""

# 1、打开文件
f = open('a.txt', 'r', encoding='utf8')

# 从文件读取数据
print('-------------------------------------')
data = f.read()  # data就是读取的数据,读取全部
print(data)

print('-------------------------------------')
# 打开文件
f = open('a.txt', 'r', encoding='utf8')
data0 = f.read(3)  # data就是读取的数据,读取3个字符
print(data0)

print('-------------------------------------')
# 打开文件
f = open('a.txt', 'r', encoding='utf8')
data1 = f.readline()  # 读取第一行数据
data2 = f.readline()  # 读取第二行数据
print(data1, end='')
print(data2, end='')

print('-------------------------------------')
# 打开文件
f = open('a.txt', 'r', encoding='utf8')
data3 = f.readlines()  # 将文件所有行的数据都读取到列表中,包括换行符
# print(type(data3))  # <class 'list'>
print(data3, end='')

# 3、关闭文件
f.close()

2、读操作--读取文件全部内容

"""
Python对文件的操作又被称为Python的IO操作
   I: Input  读
   O: Output 写

Python的IO操作流程:
  1、打开文件: open
  2、读写文件: read / write
    read() :默认读取文件全部内容,如果文件的大小超过你的内存,则会出现内存溢出
  3、关闭文件: close
"""

# 1、打开文件
f = open('a.txt', 'r', encoding='utf8')

# 2、读取文件全部内容-方式1
while True:
    data1 = f.read(1024)
    # 判断是否到达文件末尾
    if len(data1) == 0:
        break
    print(data1)

print('---------------------------------')


# 2、读取文件全部内容-方式2

f = open('a.txt', 'r', encoding='utf8')

while True:
    data2 = f.readline()
    # 判断是否到达文件末尾
    if len(data2) == 0:
        break
    print(data2, end='')

# 3、关闭文件
f.close()

3、写操作--入门

"""
Python对文件的操作又被称为Python的IO操作
   I: Input  读
   O: Output 写

Python的IO操作流程:
  1、打开文件: open
  2、读写文件: read / write
    read() :默认读取文件全部内容,如果文件的大小超过你的内存,则会出现内存溢出
  3、关闭文件: close
"""

# 1、打开文件
# 如果使用'w'模式打开文件,如果文件存在,则清空文件内容,如果不存在,则创建文件
f = open('ab.txt', 'w', encoding='utf8')

# 2、向文件写数据
f.write('我爱你中国,哈哈哈!' + '\n')
f.write('我爱你中国,嘿嘿嘿!')

# 3、关闭文件
f.close()

4、文件操作模式

"""
一:操作文本文件
    读文件模式:
     'r': 只读
    写文件模式:
      ’w‘ :创建文件,清空文件内容

    读写模式:
      r+ : 即可以读,也可以写,但是不清空文件内容,打开文件之后,默认文件指针在开头
      w+ : 即可以读,也可以写,但是清空文件内容,打开文件之后,默认文件指针在开头
    追加模式:
     a+: 即可以读,也可以写,但是不清空文件内容,打开文件之后,默认文件指针在末尾

二:操作一切文件
二进制模式:
  rb: 可以操作一切文件(文本,音频,视频,其他)
  wb: 可以操作一切文件(文本,音频,视频,其他)
  rb+: 可以操作一切文件(文本,音频,视频,其他)
  wb+: 可以操作一切文件(文本,音频,视频,其他)
  ab+:可以操作一切文件(文本,音频,视频,其他)
"""

f = open('ab.txt', 'a+', encoding='utf8')

f.write("呵呵呵")

f.close()

5、文件的复制

"""
一:操作文本文件
    读文件模式:
     'r': 只读
    写文件模式:
      ’w‘ :创建文件,清空文件内容

    读写模式:
      r+ : 即可以读,也可以写,但是不清空文件内容,打开文件之后,默认文件指针在开头
      w+ : 即可以读,也可以写,但是清空文件内容,打开文件之后,默认文件指针在开头
    追加模式:
     a+: 即可以读,也可以写,但是不清空文件内容,打开文件之后,默认文件指针在末尾

二:操作一切文件
二进制模式:
  rb: 可以操作一切文件(文本,音频,视频,其他)
  wb: 可以操作一切文件(文本,音频,视频,其他)
  rb+: 可以操作一切文件(文本,音频,视频,其他)
  wb+: 可以操作一切文件(文本,音频,视频,其他)
  ab+:可以操作一切文件(文本,音频,视频,其他)
"""

# 需求:将a.txt 复制为 b.txt

# 1、打开源文件a.txt
f_src = open('x.jpg', 'rb')

# 2、打开目标 b.txt
f_dest = open('y.jpg', 'wb')

# 3、实现文件的复制
while True:
    # 从源文件读取数据
    data = f_src.read(1024)
    if len(data) == 0:
        break
    # 将读取的数据写入目标文件
    f_dest.write(data)
# 4、关闭文件
f_dest.close()
f_src.close()

二、异常操作

1、异常操作--入门

 1、异常就是代码在运行的过程中出现的非正常现象
 2、默认情况下,程序遇到异常,则直接终止运行
 3、我们的任务时当程序出现异常时,给出提醒,并且让程序回到正常的执行状态

 

异常的格式:

  try:
    可能会发生异常的代码
  expect Exception:
     如果发生了异常,这里的代码会执行,一般放要处理异常的代码
  else:
     如果没有发生了异常,这里的代码会执行
  finally:
     不管有没有发生异常,这里的代码总会执行,一般放一些释放资源的代码


print('代码0')

try:

    a = 10
    b = 2
    print(a / b)
except Exception:
    print('except:抱歉,服务器忙,请稍后再试!')
    print(Exception)
else:
    print('else:没有发生异常!')
finally:
    print('finally:不管有没有发生异常,这里的代码总会执行')

print('代码1')
print('代码2')

2、异常操作--应用



try:
    f = open('x.txt','r',encoding='utf8')
except Exception:
    print('文件不存在,新建文件!')
    f = open('x.txt', 'w', encoding='utf8')
else:
    print('文件存在,可以读取数据!')
    data = f.read()
    print(data)
finally:
    f.close()

三、模块


1、模块就是写好的 .py文件
2、模块的导入方式:


import 模块名:

导入该模块下所有的函数,调用函数时,必须加模块名


from 模块名 import 功能名:

导入该模块下所有某个函数,调用导入的函数时,不需要加模块名


from 模块名 import :

导入该模块下所有的函数,调用函数时,不需要加模块名

import 模块名 as 别名 :

导入该模块下所有的函数,并且给模块起别名,调用函数时,必须加模块名


from 模块名 import 功能名 as 别名:

导入该模块下所有某个函数,并给函数起别名,调用导入的函数时,不需要加模块名


from random import randint as r

# num = random.randint(1, 3)  #import  random
# num = randint(1, 3)         #from random import randint
# num = randint(1, 3)         #from random import *        !!!!!!!!!

# num = r.randint(1,3)         #import random as r
# num = r(1,3)                 #from random import  randint as r


from time import *

print('aaaaaaaaaa')
sleep(5)
print('bbbbbbbbbb')

<end>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木易巷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值