open,os模块的常用函数
一.open用于读写文件
1.open的基本语法 : open(file,mode,buffering,encoding,errors.........),open中有如下几个参数,一般情况
下我们只需要file,mode,encoding即可。
- file: 必需,文件路径(相对或者绝对路径)
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
- opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
(1)file:要读写的文件
(2)mode:对文件使用的权限
r:只读,从开头开始
w:只写,覆盖替换原来的文件(a+v)
a:可写,指针指向末尾添加,不可读
rb:只读(读取的是二进制),二进制打开一个文件,指针指向开头
ab:只写(写入的是二进制),二进制打开一个文件,指针指向末尾
r+:可读,可写(指向开头,并替换开头的字符)
w+:可写,覆盖替换原来的文件(a+v),可读,默认指向末尾,可seek改变指针位置
a+:可写,指针指向末尾追加。可读,默认指向末尾,可seek改变指针位置
rb+:可写,指针指向开头,覆盖替换原来的内容(a+v)。可读,指针指向开头,读取二进制
wb+:可写,指针指向开头,覆盖替换原来的文件(a+v)。可读,默认指向末尾,可seek改变指针位置
ab+:可写,指针指向末尾追加,。可读,默认指向末尾,可seek改变指针位置
(3)encoding:编码,填写utf8即可
2.open中的方法与属性
name:获取文件名,即open中的值
mode:获取文件mode状态
encoding:获取encoding设置的编码
closed:检验资源是否关闭
write():写入内容
writelines():写入内容可以是list/set/字典/元组类型
read():读取文件内容,可传入int值,表示读取的数量
teel():查看当前指针指向的位置
seek(offset whence):设置指针位置,offset偏移位置,whence表示从哪个位置开始(0开头位置,
1当前位置,2结尾位置)
close():关闭
3.运用实例,对于以下写法,有些python版本可能会报错('encoding' is an invalid keyword argument for this function)
这个时候可以有两种解决办法(1.删除encoding=“utf8” 2.引入io库,在open前加上io.即可)

当我们使用write()写入的时候,可能还会报错(write() argument 1 must be unicode, not str/int),这是因为你输入的内容
是字符串或者int类型,不是bytes,大概原因是python默认编码导致的,一个万能的解决办法,在输入内容前加个u即可(
a.write(u"饭然超上到")
二.os模块基本函数(使用时需先用import导入os模块)
os.system():可写入命令
os.mkdir(path):创建目录
os.rmdir(path):删除目录
os.remove(path):移除目录
os.path.abspath(__file__):获取当前py文件绝对路径(__file__为python全局变量,表示当前文件)
os.getcwd():获取当前文件所在目录
os.chdir(path):修改当前文件路径
os.path.dirname(__file__):获取当前py文件所在的目录
os.path.join(path,"path"):在当前目录下追加目录
os.name:获取当前是什么系统,win打印出来的是nt,linux是posix
三.其它函数
a.replace("old","new")
a[2],a[1:5],a[:5]:截取字符串,下标从0开始

浙公网安备 33010602011771号