| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python学习五:模块、__name__属性、dir() 函数、标准模块&包、输出格式美化、读取键盘输入、读和写文件、文件对象的方法、pickle 模块、open() 方法、file 对象… -> 正文阅读 |
|
[Python知识库]Python学习五:模块、__name__属性、dir() 函数、标准模块&包、输出格式美化、读取键盘输入、读和写文件、文件对象的方法、pickle 模块、open() 方法、file 对象… |
模块import 与 from...import参考Python学习一:基础语法(保留字、注释、行与缩进、多行语句、空行、同一行显示多条、print输出、import%from...import)、基本数据类型_岳小诺的博客-CSDN博客https://blog.csdn.net/weixin_54897533/article/details/122695862?spm=1001.2014.3001.5501 __name__属性一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。 ? 说明:?每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。 说明:__name__?与?__main__?底下是双下划线,?_ _?是这样去掉中间的那个空格。 dir() 函数内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回 如果没有给定参数,那么 dir() 函数会罗列出当前定义的所有名称 标准模块&包Python3 模块 | 菜鸟教程 (runoob.com)https://www.runoob.com/python3/python3-module.html 输出格式美化Python两种输出值的方式: 表达式语句和 print() 函数。 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。 如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。 如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
此部分内容过于复杂零碎,请参看 Python3 输入和输出 | 菜鸟教程 (runoob.com)https://www.runoob.com/python3/python3-inputoutput.html? 读取键盘输入input() Python3 input() 函数 | 菜鸟教程 (runoob.com)https://www.runoob.com/python3/python3-func-input.html? 读和写文件
文件对象的方法f.read()为了读取一个文件的内容,调用 f.read(size), 这将读取一定数目的数据, 然后作为字符串或字节对象返回。 size 是一个可选的数字类型的参数。 当 size 被忽略了或者为负, 那么该文件的所有内容都将被读取并且返回。 f.readline()f.readline() 会从文件中读取单独的一行。换行符为 '\n'。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。 f.readlines()f.readlines() 将返回该文件中包含的所有行。 如果设置可选参数 sizehint, 则读取指定长度的字节, 并且将这些字节按行分割。 f.write()f.write(string) 将 string 写入到文件中, 然后返回写入的字符数。 f.tell()f.tell() 返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。 f.seek()如果要改变文件当前的位置, 可以使用 f.seek(offset, from_what) 函数。 from_what 的值, 如果是 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾,例如:
from_what 值为默认为0,即文件开头。 f.close()在文本文件中 (那些打开文件的模式下没有 b 的), 只会相对于文件起始位置进行定位。 当你处理完一个文件后, 调用 f.close() 来关闭文件并释放系统的资源,如果尝试再调用该文件,则会抛出异常。 文件对象还有其他方法, 如 isatty() 和 trucate(), 但这些通常比较少用。 pickle 模块python的pickle模块实现了基本的数据序列和反序列化。 通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储。 通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。 基本接口:
有了 pickle 这个对象, 就能对 file 以读取的形式打开:
注解:从 file 中读取一个字符串,并将它重构为原来的python对象。 file:?类文件对象,有read()和readline()接口。
open() 方法Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。 open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
完整的语法格式为:?
参数说明:
file 对象file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:
OS 文件/目录方法os?模块提供了非常丰富的方法用来处理文件和目录。 Python3 OS 文件/目录方法 | 菜鸟教程 (runoob.com)https://www.runoob.com/python3/python3-os-file-methods.html 异常处理try/expect?以下例子中,让用户输入一个合法的整数,但是允许用户中断这个程序(使用 Control-C 或者操作系统提供的方法)。用户中断的信息会引发一个 KeyboardInterrupt 异常。
try 语句按照如下方式工作;
?一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。 处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。 一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组。 最后一个except子句可以忽略异常的名称,它将被当作通配符使用。你可以使用这种方法打印一个错误信息,然后再次把异常抛出。
try/except...else?else 子句将在 try 子句没有发生任何异常的时候执行。 使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到,而 except 又无法捕获的异常。? 异常处理并不仅仅处理那些直接发生在 try 子句中的异常,而且还能处理子句中调用的函数(甚至间接调用的函数)里抛出的异常。 try-finally 语句try-finally 语句无论是否发生异常都将执行最后的代码。 抛出异常Python 使用 raise 语句抛出一个指定的异常。
raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。 如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise 语句就可以再次把它抛出。 用户自定义异常你可以通过创建一个新的异常类来拥有自己的异常。异常类继承自 Exception 类,可以直接继承,或者间接继承,
在这个例子中,类 Exception 默认的 __init__() 被覆盖。 当创建一个模块有可能抛出多种不同的异常时,一种通常的做法是为这个包建立一个基础异常类,然后基于这个基础类为不同的错误情况创建不同的子类:
? 定义清理行为try 语句还有另外一个可选的子句(finally),它定义了无论在任何情况下都会执行的清理行为。 预定义的清理行为一些对象定义了标准的清理行为,无论系统是否成功的使用了它,一旦不需要它了,那么这个标准的清理行为就会执行。 关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法:
以上这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。 Python with 关键字 | 菜鸟教程 (runoob.com)https://www.runoob.com/python3/python-with.html |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 1:47:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |