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')
目录
相关文章
|
4天前
|
数据库 Python
[oeasy]python066_如何捕获多个异常_try_否则_else_exception
本文介绍了Python中`try...except...else`结构的使用方法。主要内容包括: 1. **回顾上次内容**:简要复习了`try`和`except`的基本用法,强调了异常处理的重要性。 2. **详细解释**: - `try`块用于尝试执行代码,一旦发现错误会立即终止并跳转到`except`块。 - `except`块用于捕获特定类型的异常,并进行相应的处理。 - `else`块在没有异常时执行,是可选的。 3. **示例代码**:通过具体例子展示了如何捕获不同类型的异常(如`ValueError`和`ZeroDivisionError`),并解释了异常处理
34 24
|
7天前
|
人工智能 Shell 开发工具
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
48 32
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
2月前
|
Python
Python Internet 模块
Python Internet 模块。
133 74
|
3月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
141 63
|
3月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
3月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
3月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
存储 Python
Python文件操作指南:编码、读取、写入和异常处理
Python文件操作指南:编码、读取、写入和异常处理
417 0
|
Python
Python | 文件操作和异常处理
Python | 文件操作和异常处理
200 0

热门文章

最新文章

推荐镜像

更多