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')
目录
相关文章
|
2天前
|
XML 数据格式 Python
Python的`import`用于加载模块,基础形式是`import module`,全量导入
【6月更文挑战第23天】Python的`import`用于加载模块,基础形式是`import module`,全量导入;`from module import name`选择性导入部分,减少命名空间污染;`from module import *`导入所有(不推荐),易引发冲突。别名导入如`from math import sqrt as square_root`可避免冲突。包导入用`.`,如`import xml.etree.ElementTree as ET`。
23 8
|
2天前
|
XML 数据格式 Python
在Python中,导入其他模块是通过使用import语句完成的
在Python中导入模块涉及`import`语句的不同用法:1) `import math`导入整个标准库;2) `from math import sqrt`导入单个函数;3) `import numpy as np`使用别名;4) `from random import *`导入所有(不推荐);5) `import xml.etree.ElementTree as ET`导入子模块;6) 使用`importlib.import_module()`延迟导入;7) `from .module import func`导入相对路径模块,需管理`sys.path`。
24 6
|
1天前
|
算法 数据安全/隐私保护 开发者
Python logger模块详细讲解
Python logger模块详细讲解
|
2天前
|
Python
Python的`os`模块核心功能概述:通过`os.getcwd()`获取
【6月更文挑战第23天】Python的`os`模块核心功能概述:通过`os.getcwd()`获取、`os.chdir()`改变工作目录;使用`os.mkdir()`, `os.makedirs()`创建目录,`os.rmdir()`, `os.removedirs()`删除;`os.rename()`, `os.renames()`重命名文件或目录;`os.remove()`删除文件;`os.listdir()`列出目录内容;`os.path.exists()`, `os.path.isfile()`, `os.path.isdir()`检查路径;`os.stat()`获取文件属性。
11 4
|
1天前
|
Linux Python
Python- jinja2模块详解
Python- jinja2模块详解
|
1天前
|
程序员 Python
Python--re模块的讲解与应用
Python--re模块的讲解与应用
|
1天前
|
Web App开发 JSON Linux
Python—requests模块全面讲解
Python—requests模块全面讲解
|
Python Windows Linux