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

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

一、文件操作

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')
目录
相关文章
|
7天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
19 5
|
17天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
20天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
62 5
|
18天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
15 0
|
19天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
15 0
|
19天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
16 0
|
20天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
14 0
|
存储 Python
Python文件操作指南:编码、读取、写入和异常处理
Python文件操作指南:编码、读取、写入和异常处理
355 0
|
Python
Python | 文件操作和异常处理
Python | 文件操作和异常处理
172 0
|
Python 小程序 NoSQL
Python学习(23)--文件操作2与异常处理
Python学习(23)--文件操作2与异常处理 这一节我们将会继续介绍有关文件操作的内容,Python中的os模块为我们提供了许多操作文件的函数,我们将一一介绍这些函数的功能意义及使用方法。在我们对文件操作时,程序可能会因为某些逻辑错误而中断,比如我们打开一个文件时,硬盘上并不存在这个文件,就会报一个IOError的错误信息,这就是Python中的异常,本节将介绍这些异常以及异常的处理。
1742 0