Python基础

本文介绍了Python的基础操作,包括文件的读写、复制,异常处理的完整格式及常见异常实例,以及模块和包的概念与作用。文件操作涉及文本和图片的读写,异常处理通过try-except-finally语句实现,模块包讲解了其作为代码组织结构的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、读写文件

读写文件:
写一个文本文件text:内容为西安培华学院
读取文本文件的内容
复制这个文件text,拷贝为text2
找一张图片,复制这个图片到copy.jpg
给定一个列表[“string1”, “string2”, “string3”]
将列表内容写入文件,每一个元素一行

with open('txt/text.txt', 'r') as file_obj:
    data = file_obj.read()
with open('txt/text2.txt', 'w') as file_obj:
    file_obj.write(data)
with open('img/01.jpg', 'rb') as file_img_obj:
    data_img = file_img_obj.read()
with open('img/copy.jpg', 'wb') as file_img_obj:
    file_img_obj.write(data_img)
list_var = ["string1", "string2", "string3"]
with open('txt/list.txt', 'w') as file_obj2:
    file_obj2.write('\n'.join(list_var))

二、异常

异常的完整格式,以及每个部分的意思
常遇见的>=5种异常的处理
以及用异常处理来进行读写文件的文件关闭
如何主动抛出异常

异常处理的格式:
try:
    要执行语句(有可能遇到异常)
    a + b => 1 + 1 正常执行
          => 1 + "1" 执行的时候遇到异常
except [异常类型(可以省略) as name(变量赋值name)]:
    做异常处理的语句
except 异常类型2:
    处理2
except 异常处理3:
    处理3
finally:  # 最后
    最后执行的语句

多个except的用途:
    1.可以处理多个异常: 异常类型2, 异常类型3
    2.针对多个不同的异常可以做不同的处理
        处理2
        处理3

# except 捕获, 异常类型: 捕获哪一种异常
# as name: 是将捕获到异常赋值给name(变量)
           那就可以用name去访问异常
# 1.finally中的语句一定是最后执行
# 2.finally中的语句,无论是否出现异常都会执行

# TypeError
try:
    print(1 + '1')
except TypeError:
    print('TypeError')
# KeyError
dict_var = {1: 2}
try:
    print(dict_var[2])
except KeyError:
    print('KeyError')
# ValueError
list_var = [1, 2]
try:
    print(list_var.index(3))
except ValueError:
    print('ValueError')
# IndexError
try:
    print(list_var[2])
except IndexError:
    print('IndexError')
# NameError
try:
    print(test)
except NameError:
    print('NameError')
结果:
TypeError
KeyError
ValueError
IndexError
NameError

进程已结束,退出代码0

try:
    file_obj = open('txt/1.txt', 'w')
    file_obj.write('123456')
except:
    print('异常处理')
finally:
    file_obj.close()
    print('Finally')
结果:
异常处理
# raise 语句支持强制触发指定的异常
try:
    1 + 1
    raise IndexError from ZeroDivisionError
except IndexError:
    print("Handle Index Error")
结果:
Handle Index Error

进程已结束,退出代码0

三、模块和包

模块:在python中,一个.py文件就叫模块

使用模块的好处

(1)提高了代码的可维护性。

(2)代码不必从零开始,当一个模块编写完毕后,就可以被其他地方应用。

(3)可以避免函数名和变量名冲突,相同的函数名和变量可以存放在不同的模块中,但是要注意尽量不要与内置函数名字冲突。

# 导入模块的时候,一定是在模块的顶部导入,如果要导入模块中的具体内容
先在test_name.py中定义function_name()
def function_name():
    print('hello')
然后在用import test_name调用test_name模块
# import test_name
# test_name.function_name()

import语句的实质是,在运行模块时,将导入的语句视为执行这个模块

什么是包:管理模块的命名空间

包和目录的区别:Python 只把含 __init__.py 文件的目录当成包

__init__.py的作用:
最简情况下,__init__.py 只是一个空文件,但该文件也可以执行包的初始化代码,或设置 __all__ 变量
这样可以防止以 string 等通用名称命名的目录,无意中屏蔽出现在后方模块搜索路径中的有效模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值