| |
|
开发:
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文件操作和模块 |
目录 文件操作文件操作的一般步骤: 打开文件、读/写文件 、保存文件?、关闭文件 打开文件用open函数,一般我们默认的编码是gbk,最好的习惯是我们再打开一个文件给他指定一个编码类型。 写文件(w)
以二进制的形式去写数据(wb)
追加(a)
读数据(r)
以二进制的形式去读数据(wb)
with是上下文管理对象 它的优点是可以自动的释放打开关联的对象
总结: 文件读写的几种操作方式 read r r+ rb rb+. r r+ 只读 适用于普通场景. rb rb+ 适用于文件、图片、视频、音频这样的文件. write w w+ wb+ wb a ab w. wb+ w+ 每次都会去创建文件. 二进制读写的时候,要注意编码问题,默认情况下,我们写入的文件是gbk. a ab a+ 在原有的文件的基础上追加(文件指针末尾)追加,并不会每次都创建一个新的文件. 文件备份?利用脚本完成自动备份,要求用户输入文件名称,完成自动备份
对上面的代码可以优化
文件定位文件定位,指的是当前文件指针读取到的位置,光标位置。在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取。
如果读中文,一个字相当于两个字节 truncate函数 可以对源文件进行截取操作
如果在操作文件的过程,需要定位到其他位置进行操作,用seek()。 seek(offset, from)有2个参数,offset,偏移量单位字节,负数是往回偏移,正数是往前偏移,from位置:0表示文件开头,1表示当前位置,2表示文件末尾。
1对于上面这种情况 用'r'这种模式打开文件,在文本文件中,没有使用二进制的选项打开文件, 只允许从文件的开头计算相对位置,从文件尾部计算或者当前计算的话 就会引发异常。 模块导入模块导入有两种方法: 1.import xxx import 在首次导入模块的时候 会发生如下3步操作 1,打开模块文件 2.执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间? 3.在程序会有一个模块的名称指向模块的名称空间去。 2.from...import ?from...import 首次导入发生了3个步骤 1.以模块为准创建一个模块的空间 ?2.执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间 ?3.在当前执行文件的名称空间中拿一个名字,改名字直接指向模块中的某一个名字,意味着可以不用加任何的前缀,而是直接使用 ?优点:不用加前缀,代码更加简洁了 缺点:容易与当前执行文件中名称空间中的名字冲突 俩种方法的相同点: 1.都会执行模块对应的文件,都会产生模块的名称空间 2.两者在调用功能时,都需要转到定义时寻找作用域关系 不同点: import需要加前缀,from...import不需要加前缀 from time import * #全部导入 import导入方式
from...import导入方式
os模块制作?os模块就是对文件进行操作,我们以代码形式讲解os模块里面部分函数的用法。
获取python中的目录列表有两种方法 方法1:
方法2:scandir和with一起使用,这样的话,上下文管理器会在迭代器遍历完成后自动的去释放资源
打印目录下的文件
下面简单补充几个知识: 1.all变量的作用,如果在一个文件存在__all__变量,那么也就意味着这个变量的元素会被from xxx import *时会被导入,对于import xxx all是不影响的 2.if __name__=='__main__' 这个代码是为了保证在别的地方调用时,不会执行if下面的代码。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 4:33:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |