Python模块、包、异常、文件(案例)

python.py

#模块
# Python中的模块(Module),是一个Python文件,以.py文件结尾,包含了Python对象定义和Python语句,
# 类似Java中的多个单独的Java文件,把相关的代码分配到一个模块中可以实现代码的重用。模块中可以定义函数、类、变量,也可以包含可执行的代码
#可执行语句 print("我是模块中的打印语句") #函数 def eat(what): print("正在吃:",what) #函数 def sleep(time): print(f"在{time}时间睡觉") #变量 name="张三" age=22 #类 class Person: def playDD(self): print("打豆豆")

test.py

#一模块
# Python中的模块(Module),是一个Python文件,以.py文件结尾,包含了Python对象定义和Python语句,
# 类似Java中的多个单独的Java文件,把相关的代码分配到一个模块中可以实现代码的重用。模块中可以定义函数、类、变量,也可以包含可执行的代码 # 导入模块,也就是说,在一个Python文件中想要使用另外一个Python文件中的函数或者变量,则需要导入模块,导入模块有三种方式:
#第一种:import 模块名
import Python #调用python模块中的变量
print(Python.name) #张三 #调用python模块中的函数
Python.eat("水果 ") #正在吃: 水果 Python.sleep("12:30") #在12:30时间睡觉 #定义python中的类
person=Python.Person()
person.playDD() #打豆豆 # 注意:该种方式导入的模块,在调用模块中的函数、变量、类时,必须前面加上模块名
# 模块名.函数名 #第二种:from 模块名 import 函数名
#导入模块中的某一个函数
from Python import eat
#调用python模块中的eat函数
eat("午餐") #正在吃: 午餐
#调用python模块中的变量
print(Python.age) # #注意:该种方式导入的模块,在调用模块中的函数时,可以直接使用函数名即可,不需要跟着模块名 #第三种:import 模块名 as 别名
import Python as p
#调用python模块中的变量
print(p.name) #张三
p.eat("鸡腿") #正在吃: 鸡腿 #注意:该方式导入的模块,在调用模块中的函数时,可以使用别名 #无论执行了多少次import,一个模块只会被导入一次 #二包
# 在实际的开发中,一个大型的系统有成千上万的Python模块是很正常的事情。
# 单单用模块定义Python的功能显然还不够,如果都放在一起显然不好管理并且有命名冲突的可能,
# 因此Python中也出现了包的概念,和Java语言中的包Package是一样的,也就是说把模块分门别类的存放在不同的文件夹 #创建包的步骤
# (1)创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
# (2)在文件夹中创建一个_ _init_ _.py的模块文件,内容可以为空;【注意:必须要创建该文件,用来告诉python将该目录当成一个包来处理】
# (3)将相关的模块放入到文件夹中 # 三异常 # 处理异常
# 1.try-except语句
# try-except语法格式:
# try:
# 代码块【可能出会错的代码】
# except Exception[as reason]:
# 出现异常的处理方式 try:
a=10/0
print(f"结果为{a}")
except Exception:
print("出错了") #2.针对不同异常设置多个except
# 多个except语法格式:
# try:
# 代码块【可能出会错的代码】
# except 异常1:
# 出现异常1的处理方式
# except 异常2:
# 出现异常2的处理方式 try:
a=10/2
print(f"结果为{a}")
b=1+""
print(f"结果为{b}")
except ZeroDivisionError:
print("除数不能为0")
except TypeError:
print("类型错误") #3.对多个异常统一处理
# except后边还可以跟着多个异常,然后对这些异常进行统一处理,语法格式:
# try:
# 代码块【可能出会错的代码】
# except (异常1,异常2):
# 出现异常的处理方式 try:
a=10/2
print(f"结果为{a}")
b=1+""
print(f"结果为{b}")
except (ZeroDivisionError,TypeError):
print("出错了") #4.捕获所有异常
# 如果你无法确定要对哪一类异常进行处理,只是希望在try语句块中一旦出现任何异常,可以给用户一个“看得懂”的提醒,语法格式:
# try:
# 代码块【可能出会错的代码】
# except:
# 出现异常的处理方式 try:
a=10/0
print(f"结果为{a}")
b=1+""
print(f"结果为{b}")
except:
print("出错了") #5.try-finally语句
# 语法格式:
# try:
# 代码块【可能出会错的代码】
# except:
# 出现异常的处理方式
# finally:
# 有没有异常都会执行 try:
a=10/0
print(f"结果为{a}")
b=1+""
print(f"结果为{b}")
except:
print("出错了")
finally:
print("aaa") #6.丰富的else语句
# 在Python中,else语句不仅能跟if语句搭,构成“要么怎么样,要么不怎么样”的句式;它还能跟循环语句(for语句或者while语句),
# 构成“干完了怎么样,干不完怎么样”的句式;和异常处理进行搭配,构成“没有问题?那就干吧”的句式。
# 语法:
# try:
# 代码块【可能出会错的代码】
# except:
# 出现异常的处理方式
# else:
# 没有异常的处理方式 try:
a=10/2
print(f"结果为{a}")
b=1+""
print(f"结果为{b}")
except:
print("出错了")
else:
print("没有错误")
finally:
print("计算完成") #四、文件
# 在编程中,需要将部分数据永久保存到文件中,或者将文件中的内容读取出来,就需要学习Python中的文件操作。
#1.打开文件
# 在Python中,使用open()函数打开文件并返回文件对象,语法:
# file=open(file,mode=‘’) # f=open("test.txt") #2.文件关闭
#如果对文件进行了写入操作,那么应该在完成写入之后关闭文件,因为Python可能会缓存你写入的数据,
# 如果途中发生类似断电之类的事故,那些缓存的数据根本就不会写入到文件中。 # f.close() #3.文件读取
#打开文件test.txt,编码格式为GBK
f=open("test.txt",encoding="GBK")
#读取所有文件内容
# content=f.read()
# print(content) #啊啊啊 这是一行新的数据 这是一行新的数据
#读取一行
# content=f.readline()
# print(content) #啊啊啊
#将读取的结果存放到list列表中
# l=list(f)
# print(l) #['啊啊啊\n', '这是一行新的数据\n', '这是一行新的数据'] #4.文件的写入
#如果要写入文件,请确保之前的打开模式有“w”或者“a”,否则会报错。注意,如果使用“w”模式写入文件,之前的文件内容将会全部删除
# 选中一个模板,出现的黑色方框标志着选中的范围
# 插入新模板、收藏、复制,都是针对黑色方框进行操作。方法:
# f.write(“数据”) # f=open("test.txt","a",encoding="GBK",)
# f.write("\n")
# f.write("这是一行新的数据")
# print("完成")

text.txt

啊啊啊
这是一行新的数据
这是一行新的数据

今天的测试就到这里了,谢谢大家的支持!

如果大家想浏览我的下一篇文章,请留言

Python模块、包、异常、文件(案例)的更多相关文章

  1. Python——模块&包&异常

    模块&包&异常 一. 模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义(变量)和Python语句. 模块能定义函数 ...

  2. (转载)Linux平台下安装 python 模块包

    https://blog.csdn.net/aiwangtingyun/article/details/79121145 一.安装Python Windows平台下: 进入Python官网下载页面下载 ...

  3. 羞羞的Python模块包

    目录 一.pip 二.pip常用命令 三.No module 'xxxxx' 四.写在最后   前言 写Python代码的时候,经常会遇到包的问题,但是都是遇到一次,搜索一次,解决了.下一次还是同样的 ...

  4. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  5. Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用

    在eclipse中用pydev开发Python脚本时,我遇到了一个这样的现象,当我新建一个pydev package时,总会自动地生成一个空的__init__.py文件,因为是python新手,所以很 ...

  6. 18.Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用

    原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了.当 ...

  7. Python模块包中__init__.py文件的作用

    转载自:http://hi.baidu.com/tjuer/item/ba37ac4ce7482a0f6dc2f08b 模块包: 包通常总是一个目录,目录下为首的一个文件便是 __init__.py. ...

  8. python模块、异常

    1. python 模块 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能.这也是使用 python 标准库的方法.(有点像java的c ...

  9. python模块, 包的初识

    Python 模块(Module), 是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代 ...

  10. Python模块/包/库安装几种方法(转载)

    一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip或tar.gz),进行解压,CMD->cd进入模 ...

随机推荐

  1. 01_编程规约——OOP规约

    1.[强制]避免通过一个类的对象引用访问此类的静态变量或静态方法,避免增加编译器解析成本,直接用“类名.变量名”访问即可. 2.[强制]所有的覆盖方法,必须加@Override注解 说明:加@Over ...

  2. 微信小程序——代码构成

    通过上一章讲解,我们了解到如何初始化一个小程序项目,这里是官方给到demo地址,通过demo来看教程更方便于我们理解项目架构. 由四种文件构成: .json 后缀的 JSON 配置文件 .wxml 后 ...

  3. png的故事:隔行扫描算法

    转载自AlloyTeam:http://www.alloyteam.com/2017/06/the-story-of-png-deinterlacing-algorithm/ 前言 前文已经讲解过如何 ...

  4. 如何一次性下载某个类库依赖的所有jar包"

    ** 经常碰到这种事情: ** 在一些非maven工程中(由于某种原因这种工程还是手工添加依赖的),需要用到某个新的类库(假设这个类库发布在maven库中),而这个类库又间接依赖很多其他类库,如果依赖 ...

  5. 快速替换dll命名空间 z

    Step1:使用ildasm将代码反编译成il中间语言. 名字存贮为你想要的名字. Step2:用记事本打开il文件全局替换命名空间. Step3:使用ilasm将il文件编译成dll 按下回车即可生 ...

  6. 线程 Z

    原文:http://www.albahari.com/threading/part5.aspx 专题:C#中的多线程 1并行编程Permalink 在这一部分,我们讨论 Framework 4.0 加 ...

  7. 贝叶斯网络(Bayesian network))简介(PRML第8.1节总结)概率图模型(Graphical models)

    转:http://www.cnblogs.com/Dzhouqi/p/3204353.html 部分图为手写,由于本人字很丑,望见谅,只是想把PRML书的一些部分总结出来,给有需要的人看,希望能帮到一 ...

  8. Boost智能指针——weak_ptr

    循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象.一个简单的例子如下: #include <string>#include <iost ...

  9. java中i = i++问题

    今天偶然呗问到了一个java中自增运算符的问题,涉及到了堆栈,觉得挺有趣的把它记录下来. int i=0;      i=i++;      结果i是多少?      这是一个经常被提及的问题,答案一 ...

  10. js获取7天之前或之后的日期

    function fun_date(aa){ var date1 = new Date(), time1=date1.getFullYear()+"-"+(date1.getMon ...