Python基础

Python基础

文件操作

一、打开文件

Python中提供一个内置函数 open() 打开文件,并返回文件对象,在文件操作过程都需要使用这个函数,如果该文件无法被打开,则会抛出一个OSError。
使用语法: open(参数1,参数2,参数3)
参数1:文件名
参数2:打开模式
参数3:编码方式(encoding = ‘utf-8’ / encoding = ‘GB2312’)
Alt
如果在写文件后,指针放在文件结尾,就无法立即读文件。解决方法是使用seek(0)把指针移到开头。

  • seek函数能够帮助我们File Handle,即文件处理。
  • 在Python中,我们可以将seek()最简单理解为:移动光标或指针。
  • seek(0)将开头作为参考位置, seek(1)将当前作为参考位置, seek(2)将结尾作为参考位置。
  • tell()可以查看当前指针位置
file = 'test.txt'  # 文件与当前py文件在同一目录下
file2 = r'C:\Users\NBMLK\Desktop\User.txt' # r防止转义
file = open(file,'r',encoding = 'utf-8')
file2 = open(file2,'a+',encoding = 'GB2312')
print(file.read())
file.close() # 文件操作结束,记得关闭文件
file2.writelines(['aaaaaa\n','bbbbbb\n','ccccccccc']) # write写入单行,writelines写入多行
file2.flush() # 保存文件
seek(0) # 添加操作后,指针指向文件结尾,使用seek将指针指回开头
print(file2.read())
file2.close

二、进阶操作

在对文件进行操作时,更推荐使用with语法块。
Python 中的 with 语句用于异常处理,封装了 try…except…finally 编码范式,提高了易用性。

with 语句使代码更清晰、更具可读性, 它简化了文件流等公共资源的管理。

with open(file,'r',encoding = 'utf-8') as f:
	print(f.read())

with 语句实现原理建立在上下文管理器之上。

上下文管理器是一个实现 enterexit 方法的类。

使用 with 语句确保在嵌套块的末尾调用 exit 方法。

这个概念类似于 try…finally 块的使用。

路径的处理

python里面的os模块有许多方法可以让我们通过代码实现创建,删除和更改目录,具体如下:

  • os.getcwd():显示当前的工作路径,只具体到路径,不具体到文件

  • os.path.realpath(path):返回path的真实路径,如果参数是:file,就说明是本文件所在的绝对路径,对比二者的区别?

  • os.path.join(a,b):连接两个部分的路径,组成一个完整的路径

  • os.mkdir(路径名字):在某个目录下创建一个新目录

  • os.rmdir(路径名字):删掉一个目录

  • os.listdir():获取当前路径下的目录列表,返回列表格式数据

  • os.path.isdir():判断当前文件是否是目录,返回布尔值

  • os.path.isfile():判断当前文件是否是文件,返回布尔值

  • os.chdir(path):将当前工作目录更改为指定路径

  • os.rename(name,newname):修改文件各字

# -*- coding: utf-8 -*-
"""
Created on Mon Mar  6 18:25:15 2023

@author: NBMLK
"""

import os
import sys
import shutil
import time

# sys.path是python的搜索模块的路径集,用list存放
# 导入的包的搜索路径按sys.path一个一个往下找,如果在这些路径下找不到包,则会报错
# 可以使用append()给他增加要使用的包的路径
for i in sys.path:
    print(i)

# os模块:对操作系统进行的一系列动作都在os模块中
# 获取当前工作路径,只具体到路径,不具体到文件名
path = os.getcwd()
print(path)

# 获取当前文件在操作系统中的绝对路径,具体到文件名
# print(__file__)

# 查找指定文件在操作系统中的路径??????
# print(os.path.realpath('PY\test1'))

# 创建目录(文件夹)
# os.mkdir('dir_test')

# 删除目录,如果文件夹不为空,则无法删除
# 报错[WinError 145] The directory is not empty: 'dir_test'
# os.remove('dir_test')

#若文件夹不为空,可以使用shutil内置库递归删除
# shutil.rmtree('dir_test')

# 切换当前工作路径
# os.chdir()

# 修改文件名,注意需要加上后缀名
# os.rename('Path_test.py', 'Path.py')

# 返回上一级的目录??和os.getcwd()不是一样??
dir = __file__
print('__file__是',dir)
print(os.path.dirname(dir))

异常的处理及断言

一、异常类型介绍

异常是一个在程序执行过程中发生的事件,会影响程序的正常执行。一般情况下,在Python无法正常处理程序时,就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时,我们需要捕获处理它,否则程序会终止执行。
error
在Python中,所有的异常都是派生自BaseException,BaseException是所有异常的基类,下面介绍四种最常见的异常:

  • SystemExit 解释器请求退出

  • KeyboardInterrupt 用户中断执行(通常是ctrl+c)

  • GeneratorExit 生成器(Generator)发生异常来通知退出

  • Exception 常规错误的基类
    需要重点掌握的是Exception类,一般因代码引起的错误,是我们可以控制的。Exception类异常类型举例如下:

  • AttributeError:属性错误,特性引用和赋值失败时会引发属性错误

  • NameError:试图访问的变量名不存在

  • SyntaxError:语法错误,代码形式错误

  • IOError:一般常见于打开不存在文件时会引发IOError错误,也可以解理为输出输入错误

  • KeyError:使用了映射中不存在的关键字(键)时引发的关键字错误

二、异常捕获

1、Try / Except语法格式

捕捉异常可以使用Try/Except()语句,如果你不想在异常发生时结束你的程序,只需要在异常发生时用try捕获它,然后使用Except进行处理动作。(注意:Except中指定异常类型,可以指定一个或多个,也可以不指定,不指定时默认捕获所有Exception类型)

Try:
可能出现异常的代码
Except 异常类型:
捕获到异常后的处理方案
在这里插入图片描述
上述列子中,因为用户输入了字符串’abc’,而字符串不能用int()转为整型,异常发生,通过Except捕获并输出’出现异常代码’。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值